一、阿里ECS服务器配置 1.因为线上已经有几个站点了.所以要配置ngnix多站点 2.阿里云ecs目录结构,ngxin 在/etc/nginx/目录下,配置的地方主要是
nginx.config
文件。或者在conf.d
新建一个配置文件然后在include到nginx.config
文件中3.nginx.config
新建站点信息server {listen 80;server_name www.你的域名.com;root 站点的相对路径;indexindex.php
index.html
index.htm;#charset koi8-r;#access_log /var/log/nginx/host.access.log
main;# Load configuration files for the default serverblock.include
/etc/nginx/default.d/*.conf;location
/ {#try_files $uri $uri/ /index.php;root /opt/www/pcweb/ytyy_pc;indexindex.php
index.html
index.htm; if (!-e $request_filename) { rewrite ^(.*)$ /index.php?s=$1 last; break; }} url重写(可以没有)# redirect server error pages to the static page /40x.html#error_page 404 /404.html; 40错误页面配置location = /40x.html
{}# redirect server error pages to the static page /50x.html#error_page 500 502 503 504 /50x.html; 50错误页面配置location = /50x.html
{}location ~ \.php$ {root 站点相对路径;fastcgi_pass 127.0.0.1:9000;fastcgi_index index.php;fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;include fastcgi_params;}location ~ /\.ht
{deny all;}}配置文件的基本内容如上;配置完成后测试配置文件是否正确这样配置就可以使用了然后重启nginx服务器 这样nginx配置就结束了可以使用了。吧站点文件放到对应的目录下面。我直接git clone过去的。二.thinkphp
项目文件转移本来以为上传完就结束了。上传上去碰到的第一个问题就是访问页面报错,页面被电信的114页面劫持了。。。麻蛋 看不到报错万能百度大法解决方法1.internet
高级选项->隐私->站点 新加阻止站点解决方法2:控制面板->网络和internet->本地连接->属性->ipv4 使用如下ip终于搞定可以看到报错页面了。。。。。。麻蛋。再次开启万能百度大法 得到最终结论是文件目录权限引起的。thinkphp 的runtime目录没有写入权限。。thinkphp文件上传到阿里的好像都有这个问题。解决问题很简单进入到项目文件目录直接跟文件最高权限chmod -R 777 [目录] //linux修改文件权限可能不少人弄不清楚PHP脚本的执行到底是由谁来执行的,面试过不少四五年以上的PHP开发者有不少人也是分不清的。可能大家潜意识中觉得PHP是由Nginx来执行的,但这里要说的是:Nginx是无法直接来解析运行PHP脚本的!
PHP和Nginx的关系Nginx是一款HTTP和反向代理服务器,默认情况下它只能支持HTML文件的处理,对于动态脚本它是不支持的。而PHP脚本的解析执行靠的是PHP-FPM,Nginx将请求转发给PHP-FPM去解析运行,得到结果后再返回Nginx,再由Nginx返回给客户端。
如上所述,Nginx通过FastCGI或Socket来和PHP-FPM进行通讯的,如下图示:
Nginx与PHP-FPM部署方式分析我们通常是将Nginx和PHP-FPM部署在同一台服务器上的,其实也可以将两者部署在不同服务器上,这里就会有人问:是将两者部署在同一台服务器上效率高还是部署在不同服务器上效率更高呢?其实,这没有绝对的定论。
1、Nginx与PHP-FPM集中式部署
这种看上去速度更快,其实也未必,因为我们将Nginx和PHP-FPM部署在一台服务器上是,一旦服务器压力较大时,Nginx和PHP-FPM可能都会不稳定!
2、Nginx和PHP-FPM分开部署在不同服务器
这种方式虽说避免了应用服务间的相互影响,但也要考虑跨服务器调用的性能影响(主要是网络开销),而且最好是在同一个局域网间调用。
对于大型互联网平台,其实就是将Nginx和PHP-FPM分开部署的。
以上就是我的观点,对于这个问题大家是怎么看待的呢?欢迎在下方评论区交流 ~ 我是科技领域创作者,十年互联网从业经验,欢迎关注我了解更多科技知识!以上就是关于php部署教程以及php项目如何部署的相关回答,有更多疑问可以加微。Copyright © 广州京杭网络科技有限公司 2005-2025 版权所有 粤ICP备16019765号
广州京杭网络科技有限公司 版权所有