liunx宝塔面板部署easyswoole项目
文章目录
- 前言
- 一、宝塔新建项目
- 二、php7.4开启扩展
- 1.扩展
- 2.关闭禁用函数
- 三、配置nginx
- 总结
前言
今天上午,商务拉了一个群,丢给我一个easyswoole项目源码,什么权益话费系统,让我部署跑起来看下,
这个项目不是默认的easyswoole,好像是一个二开项目,有个layui后台
第一次部署easyswoole记录看一下吧
一、宝塔新建项目
打开宝塔-》添加站点
域名填写自己的域名,后面通过域名访问
swoole版本根据自己项目来,php7.4好像最多4.x
启动命令可以先写示例的,后面根据自己项目来,我的项目是:
php vendor/easyswoole/easyswoole/bin/easyswoole server start
一般都是【3.4.x之后】
php easyswoole.php server start
或者【3.4.x之前】
php easyswoole server start
具体可以自己查看代码easyswoole 里面写了啥
二、php7.4开启扩展
不同php开启扩展可能有些差异
1.扩展
一般安装下面这些扩展
fileinfo、redis、redis、sysvmsg
2.关闭禁用函数
修改php.ini文件:
找到 disable_functions 配置项
disable_functions =xxx,putenv,xxx
确保putenv不在其中,将putenv删除然后保存
三、配置nginx
easyswoole默认监听9501端口,
直接访问9501端口后台静态资源也会被路由代理,无法访问,需要路由做特殊处理,或者使用nginx来代理静态资源
宝塔默认nginx配置不包含将域名反向代理到9501,让ai写了一个,以供参考:
server
{listen 80;server_name easyswoole3.test.com;index index.php index.html index.htm default.php default.htm default.html;root /www/wwwroot/easyswoole3.test.com/;#CERT-APPLY-CHECK--START# 用于SSL证书申请时的文件验证相关配置 -- 请勿删除include /www/server/panel/vhost/nginx/well-known/easyswoole3.test.com.conf;# 关键修复2:添加静态资源处理规则location ^~ /static/ {# 使用 alias 确保路径映射正确alias /www/wwwroot/easyswoole3.test.com/Static/resource/;expires 30d;access_log off;# 处理字体文件跨域问题if ($request_filename ~* .*\.(ttf|woff2?|eot)$) {add_header Access-Control-Allow-Origin *;}}# 关键修复3:将所有非静态请求代理到 EasySwoolelocation / {proxy_pass http://127.0.0.1:9501;proxy_http_version 1.1;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;# 支持 WebSocket(如果需要)proxy_set_header Upgrade $http_upgrade;proxy_set_header Connection "upgrade";}#CERT-APPLY-CHECK--END#SSL-START SSL相关配置,请勿删除或修改下一行带注释的404规则#error_page 404/404.html;#SSL-END#ERROR-PAGE-START 错误页配置,可以注释、删除或修改#error_page 404 /404.html;#error_page 502 /502.html;#ERROR-PAGE-END#PHP-INFO-START PHP引用配置,可以注释或修改include enable-php-74.conf;#PHP-INFO-END#REWRITE-START URL重写规则引用,修改后将导致面板设置的伪静态规则失效include /www/server/panel/vhost/rewrite/easyswoole3.test.com.conf;#REWRITE-END#禁止访问的文件或目录location ~ ^/(\.user.ini|\.htaccess|\.git|\.env|\.svn|\.project|LICENSE|README.md){return 404;}#一键申请SSL证书验证目录相关设置location ~ \.well-known{allow all;}#禁止在证书验证目录放入敏感文件if ( $uri ~ "^/\.well-known/.*\.(php|jsp|py|js|css|lua|ts|go|zip|tar\.gz|rar|7z|sql|bak)$" ) {return 403;}location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)${expires 30d;error_log /dev/null;access_log /dev/null;}location ~ .*\.(js|css)?${expires 12h;error_log /dev/null;access_log /dev/null;}access_log /www/wwwlogs/easyswoole3.test.com.log;error_log /www/wwwlogs/easyswoole3.test.com.error.log;
}
总结
部署了好几个小时,总算是能访问了,后面看下怎么改代码?