Linux Nginx 配置 Thinkphp 两种方式
Linux Nginx 配置 启动 Thinkphp 两种方式
第一种常见;
前端vue后端Thinkphp接口以/api开头;这种Thinkphp不用启动;但是需要启动 php-pfm ;
遇到的问题是我多个Thinkphp 项目在不同的目录,配置也是对应目录;但是不同域名访问接口
时都指向了第一个Thinkphp 项目;server_name 好像没起作用;不知为何
server_name admin.xxx.com;
location / {
if ($uri ~ (/api.*)){
rewrite ^(.*)$ /index.php?s=$1 last; break;
}
index index.html index.htm;
root /home/webs/admin/dist/;
}
location ~ .php {
root /home/api/public;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi.conf;
}
第二种不常见;
众所周知Thinkphp可直接启动;windows可以;linux用 nohup php ./think run -p 8000 & 后台运行;但是一关闭shell会话;Thinkphp 程序就停了;网上搜了半天也没搜到linux后台运行Thinkphp的方法;后来新建了一个文本,把内容nohup php ./think run -p 8000 &写进去;另存为run.sh ;
然后传到Thinkphp根目录;给run.sh 执行权限;然后 ./run.sh ;这次关闭shell会话Thinkphp 程序仍然在后台运行;熟悉的proxy_pass就可以使用了;
server_name admin.xxx.com;
location / {
index index.html index.htm;
root /home/webs/admin/dist/;
}
location /api/ {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://127.0.0.1:8000/api/;
}
以前用的宝塔;换新服务器;就都用原生方法安装软件,确实挺费劲;但是我就喜欢干干净净;不喜欢乱七八糟;而且宝塔mysql还是5.7;php还是7.4 ;但我自己安装都是8.0以上的版本;
本人主修golang语言;公司用的是php;golang 性能没得说,主要是太方便了,不管写多少代码;都能打成一个可执行文件,上传到服务器直接就能运行,什么都不需要安装;不像php,一堆依赖项,缺特殊的依赖还得生成.so文件,半天都搞不定;
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐



所有评论(0)