Nginx 与 PHP 合并部署与分开部署 哪种性能更好一些

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Nginx 与 PHP 合并部署与分开部署 哪种性能更好一些相关的知识,希望对你有一定的参考价值。

参考技术A 当然是分开部署了,很简单的理解,同样的一项业务,分散到不同的营业部的话,处理业务的速度会相应加快,如果把人员集中到一个营业部,你会发现,光排队处理一项就把你搞死。 参考技术B 两台都同时部署 nginx + php-fpm比较好。
nginx做haproxy保证高可用
nginx通过unix socket连接到后端的phpfpm,同时一台机器上面可以启用多个phpfpm进程(端口),保证充分利用资源
参考技术C 在动态上面还是AP在静态上面还是NG

ng并发上面很好 占用内存少
ap占用内存大 但是稳定性好与NG
所以NG都是处理前端 ap处理后端的本回答被提问者采纳
参考技术D nginx一般都是和php一起的,哪里有分开部署的?

项目部署

1、概念
1、Django项目(Web应用)
2、Web服务
1、nginx :高并发处理的好
2、apache :稳定
LAMP :Linux、Apache、MySQL、Python/Php/Perl
LNMP :Linux、Nginx、MySQL、Python/Php/Perl
3、uwsgi
是Web服务器与Web框架之间一种简单而通用的接口
2、单项目部署(nginx+uwsgi+django)
1、确保Django项目能够运行
2、安装nginx
1、安装 :sudo apt-get install nginx
2、启动 : sudo /etc/init.d/nginx restart
3、验证 : 打开浏览器,输入127.0.0.1:80
Welcome to nginx
3、安装uwsgi(用pip3去安装)
1、安装 :sudo pip3 install uwsgi
2、验证
uwsgi --http :9998 --chdir /home/tarena/myproject/friutday_1/ --module friutday.wsgi
4、部署
1、配置uwsgi(配置文件)
1、mkdir uwsgi
2、cd uwsgi
3、vi fruitday_uwsgi.ini
[uwsgi]
# 指定和nginx通信的端口
socket=127.0.0.1:8001
# 项目路径
chdir=/home/tarena/myproject/friutday_1
# wsgi.py路径
wsgi-file=friutday/wsgi.py
# 进程数
processes=4
# 线程数
thread=2
# 本项目占用uwsgi的端口
stats=127.0.0.1:8081
2、配置nginx(配置文件)
1、sudo -i
2、cd /etc/nginx/sites-enabled
3、vi project_nginx.conf
server{
listen 8201;
server_name frituday.com;
charset utf-8;

    location /static{
      alias /home/tarena/myproject/friutday_1/static;
    }
    location /{
        include uwsgi_params;
        uwsgi_pass 127.0.0.1:8001;
    }
}
  4、重启nginx服务
    sudo /etc/init.d/nginx restart
  5、拷贝uwsgi_params文件到项目路径下
    sudo cp /etc/nginx/uwsgi_params  /home/tarena/myproject/friutday_1
3、收集静态文件
  1、在settings.py中添加路径(STATIC_ROOT)
    STATIC_ROOT = '/home/tarena/myproject/friutday_1/static/'
  2、收集静态文件
    python3 manage.py collectstatic
4、uwsgi启动项目
  cd /home/tarena/uwsgi
  uwsgi --ini fruitday_uwsgi.ini

3、多项目部署
1、uwsgi
每个项目需要单独创建uwsgi配置文件,选用不同端口
2、nginx
更改配置文件,1个就可以,添加 server{}
3、部署个人博客项目
1、浏览器访问端口 : 8202
vi /etc/nginx/sites-enabled/project_nginx.conf
server{
listen 8202
... ...
}
2、uwsgi和nginx互相通信的端口 : 8002
1、修改uwsgi
cd uwsgi
vi blog_uwsgi.ini
[uwsgi]
socket=127.0.0.1:8002
2、修改nginx配置文件
server{
...
...
location /{
include uwsgi_params;
uwsgi_pass 127.0.0.1:8002
}
}
3、uwsgi启动个人博客项目占用端口 : 8082
blog_uwsgi.ini
[uwsgi]
...
...
stats=127.0.0.1:8082

技术分享图片
技术分享图片
技术分享图片
技术分享图片
技术分享图片
技术分享图片

以上是关于Nginx 与 PHP 合并部署与分开部署 哪种性能更好一些的主要内容,如果未能解决你的问题,请参考以下文章

Nginx服务与LNMP架构部署

nginx与php-fpm的简单的关系流程图

Nginx 动态压缩与静态压缩,显著提高前后端分离项目响应速度!

nginx+php-fpm独立节点的部署wordpress笔记

nginx 监听80 为啥php-fpm监听9000

nginx php-fpm记录php错误日志怎么配置