本帖最后由 zhengduimen 于 2024-7-8 09:53 编辑
个人收款
基于webman+workerman开发 搭配 Android 到账监控系统使用
前置说明 :
云服务器 宝塔均需开启 7272 8787 端口
说明:
自行购买服务器搭建网站并自行部署,商品自行添加,收款码自行添加;
所有购买操作金额直接到个人账户,其他任何人不参与收款;
个人手机收取金额后刷新服务器订单,
所涉及金额全程仅在自己服务器与自己手机账户之间流转,避免跑路风险;
售卡系统代码:代码太大了 不知道让不让发 代码gitee 地址 : 先不发,后边看。
首页展示:
后台展示:
到账监控效果:
服务端部署:
禁用函数检查
使用这个脚本检查是否有禁用函数。命令行运行curl -Ss https://www.workerman.net/check | php
如果有提示Function 函数名 may be disabled. Please check disable_functions in php.ini说明workerman依赖的函数被禁用,需要在php.ini中解除禁用才能正常使用workerman。
解除禁用参考如下两种方法任选其一即可。
方式一
- 2、打开php.ini,找到disable_functions一项解除对应函数的禁用
-
- 依赖的函数 使用workerman需要解除以下函数的禁用
[Asm] 纯文本查看 复制代码 stream_socket_server
stream_socket_client
pcntl_signal_dispatch
pcntl_signal
pcntl_alarm
pcntl_fork
posix_getuid
posix_getpwuid
posix_kill
posix_setsid
posix_getpid
posix_getpwnam
posix_getgrnam
posix_getgid
posix_setgid
posix_initgroups
posix_setuid
posix_isatty
部署
建议选择宝塔进行部署
-
1、环境
-
注意环境尽量保持一致 Nginx 1.24.0 ;php 8.0.26 ; mysql 5.5.62
-
2、php禁用函数手动解除
-
3、手动解除的话需要自行删除 ,自动删除的方式不一定能删除完整
-
参考 方法二:手动解除
-
Nginx 配置
-
完整配置
user www www;
worker_processes auto;
error_log /www/wwwlogs/nginx_error.log crit;
pid /www/server/nginx/logs/nginx.pid;
worker_rlimit_nofile 51200;
stream {
log_format tcp_format '$time_local|$remote_addr|$protocol|$status|$bytes_sent|$bytes_received|$session_time|$upstream_addr|$upstream_bytes_sent|$upstream_bytes_received|$upstream_connect_time';
access_log /www/wwwlogs/tcp-access.log tcp_format;
error_log /www/wwwlogs/tcp-error.log;
include /www/server/panel/vhost/nginx/tcp/*.conf;}
events{
use epoll;
worker_connections 51200;
multi_accept on;}
http{
include mime.types;
-----include luawaf.conf;
include proxy.conf;
lua_package_path "/www/server/nginx/lib/lua/?.lua;;";
default_type application/octet-stream;
server_names_hash_bucket_size 512;
client_header_buffer_size 32k;
large_client_header_buffers 4 32k;
client_max_body_size 50m;
sendfile on;
tcp_nopush on;
keepalive_timeout 60;
tcp_nodelay on;
fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;
fastcgi_buffer_size 64k;
fastcgi_buffers 4 64k;
fastcgi_busy_buffers_size 128k;
fastcgi_temp_file_write_size 256k;
fastcgi_intercept_errors on;
gzip on;
gzip_min_length 1k;
gzip_buffers 4 16k;
gzip_http_version 1.1;
gzip_comp_level 2;
gzip_types text/plain application/javascript application/x-javascript text/javascript text/css application/xml application/json image/jpeg image/gif image/png font/ttf font/otf image/svg+xml application/xml+rss text/x-js;
gzip_vary on;
gzip_proxied expired no-cache no-store private auth;
gzip_disable "MSIE [1-6]\.";
limit_conn_zone $binary_remote_addr zone=perip:10m;
limit_conn_zone $server_name zone=perserver:10m;
server_tokens off;
access_log off;
upstream webman {
server 127.0.0.1:8787;
keepalive 10240;
}
upstream websocket_backend {
server 127.0.0.1:7272;
}
server {
listen 888;
server_name phpmyadmin;
index index.html index.htm index.php;
root /www/server/phpmyadmin;
location ~ /tmp/ {
return 403;
}
-----error_page 404 /404.html;
include enable-php.conf;
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 30d;
}
location ~ .*\.(js|css)?$
{
expires 12h;
}
location ~ /\.
{
deny all;
}
access_log /www/wwwlogs/access.log;
}
map $http_upgrade $connection_upgrade {
default upgrade;
'' close;
}
server {
listen 80;
server_name 110.10.10.10;
----- 如果用ip的话 直接这样配置就行 ,如果使用域名 则 正常写入域名 其他不用做什么变动
access_log off;
----root /www/wwwroot/SaleSystem;
location ^~ / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_http_version 1.1;
proxy_set_header Connection "";
if (!-f $request_filename){
proxy_pass http://webman;
}
}
location /websocket {
proxy_pass http://websocket_backend;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
}
}
include /www/server/panel/vhost/nginx/*.conf;
}
这里需要特别注意-支付结果回调靠这个完整-配置完成后自行测试几单验证结果
location /websocket {
proxy_pass http://websocket_backend;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
}
上述操作完成后 如何启动项目
- 1、进入系统根目录 以我的目录为例:cd www/wwwroot/SaleSystem/
-
2、执行指令 php start.php start -d 以守护方式启动 (当服务已经启动了,最好是先执行php start.php stop 停止之后再重新启动)
服务端代码安装部署:
上传代码完成后 端口放行完毕,打开浏览器 拿百度域名 距离 www.baidu.com/app/admin 进行安装 按照要求输入 数据库账号密码 等 以及设置管理后台账号密码 ,完成安装;
搭配收款监控到账 app
找一部用不到的手机,安装到账监控apk后,授予最高权限,其中通知栏,必须、系统常亮等权限最好也开启,然后插着电放那儿完事。(尽可能给与更高权限,该app仅仅涉及监控到账信息并与服务器交互,不涉及其他功能,请放心食用)
- 1、运行安装;
- 2、授权app打开通知栏等权限
- 3、手机自身设置屏幕常亮不息屏
这样当手机收到支付成功的到账消息时候 会进行相应处理;
然后就可以像街边摆摊小贩一样 摆上自己的收款码 愉快的 玩耍了。
相关学习资料 不知道能不能发 链接 -- 基于 webman 开发的 大家搜一搜这框架就行 挺好用的。
md 标签中 ``` ``` 代码块中 # 注释 识别异常 目前切换为 --- 请注意查收
|