第一种常见;

前端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文件,半天都搞不定;

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐