广告
返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >nginx下怎么部署php项目
  • 718
分享到

nginx下怎么部署php项目

nginxphp 2021-08-22 23:08:07 718人浏览 猪猪侠
摘要

本文操作环境:linux5.9.8系统、Nginx1.9版、Dell G3电脑。nginx下怎么部署php项目?nginx服务器上部署php项目 nginx本身不能处理PHP页面,它只是个WEB服务器,当接收到请求后,如果是p

本文操作环境:linux5.9.8系统、Nginx1.9版、Dell G3电脑。

nginx下怎么部署php项目?

nginx服务器上部署php项目

nginx本身不能处理PHP页面,它只是个WEB服务器,当接收到请求后,如果是php请求,通过反向代理的方式转发给PHP解释器处理,并把结果返回给客户端。因此需要在服务器上安装nginx和php-fpm或其他php解释器。

安装完毕nginx和php-fpm后,找到nginx服务器的配置文件

[root@test24266conf]# ps -ef | grep nginx.conf
root     31441    1  0  2018 ?       00:00:00 nginx: master process /usr/local/nginx/sbin/nginx -c/usr/local/nginx/conf/nginx.conf

在这个文件中,指定php项目的部署位置,即修改server字段下root 指定的文件根目录。

很多发型版本,在nginx.conf并没有server字段,这是为了管理方便,某些发行版的预编译版本里,nginx.conf 中 Http 段最后会有两句 include conf.d/*.conf; include sites-enabled/*或只有一条include

sites-enabled/*.conf; 这样你就可以把已经配置好的各种 server conf 放在sites-enabled 里,如

[root@test24266conf]# ll sites-enabled/
-rw-r--r--1 root root 603 103 2017 captcha443.conf
-rw-r--r--1 root root 287 9 1 2017 commrisk.conf
-rw-r--r--1 root root 194 129 2016 imagerotate.conf
-rw-r--r--1 root root 402 9 2 2016 msgqapi.conf
-rw-r--r--1 root root 295 102 2017 pointriskapi.conf
-rw-r--r--1 root root 290 6 2 2017 risktrade.conf
-rw-r--r--1 root root 309 814 2017 rotateapi.conf
-rw-r--r--1 root root 313 100 2016 watchdog.conf
[root@test24266conf]#
       这样每个.conf文件就可以对应一个虚拟主机,查看某个配置文件,如
[root@test24266conf]# cat sites-enabled/pointriskapi.conf
server{
    listen     8013;
    server_name     point.risk.api;
    index index.php;               #默认访问的文件
    root       /var/www/pointriskapi/hosts;
    access_log on;
#当请求网站下php文件的时候,反向代理到php-fpm
    location ~ .*\.php?$ {
       include fastcgi.conf;
    }
 
   location = /favicon.ico {
        log_not_found off;
        access_log off;
    }
 
}
[root@test24266conf]#

我们将php项目文件放入这个/var/www/pointriskapi/hosts路径下,如

[root@test24266hosts]# ll
 
 -rw-r--r-- 1 apache apache 339 102 2017risk_point.php
[root@test24266hosts]# pwd
/var/www/pointriskapi/hosts

一般不需要重启Nginx和php-fpm。现在在客户端就可以访问http://ip:8013/risk_point.php了。

那么nginx是怎么通过反向代理的方式将请求转发给PHP解释器呢?我们注意到server字段中有一段

    location ~ .*\.php?$ {
       include fastcgi.conf;          #加载nginx的fastcgi模块
    }

该段指明了.php文件由谁处理。我们查看nginx.conf同级目录下的factcgi.conf文件,如

[root@test24266 conf]# cat fastcgi.conf
fastcgi_pass  127.0.0.1:9000;
#fastcgi_pass  unix:/tmp/phpcgi.Socket;
fastcgi_indexindex.php;
 
access_log  /var/log/httpd/access_log main;
 
fastcgi_param  SCRIPT_FILENAME    $document_root$fastcgi_script_name;
fastcgi_param  QUERY_STRING       $query_string;
fastcgi_param  REQUEST_METHOD     $request_method;
fastcgi_param  CONTENT_TYPE       $content_type;
fastcgi_param  CONTENT_LENGTH     $content_length;
 
fastcgi_param  SCRIPT_NAME        $fastcgi_script_name;
fastcgi_param  REQUEST_URI        $request_uri;
fastcgi_param  DOCUMENT_URI       $document_uri;
fastcgi_param  DOCUMENT_ROOT      $document_root;
fastcgi_param  SERVER_PROTOCOL    $server_protocol;
fastcgi_param  https              $https if_not_empty;
 
fastcgi_param  GATEWAY_INTERFACE  CGI/1.1;
fastcgi_param  SERVER_SOFTWARE    nginx/$nginx_version;
 
fastcgi_param  REMOTE_ADDR        $remote_addr;
fastcgi_param  REMOTE_PORT        $remote_port;
fastcgi_param  SERVER_ADDR        $server_addr;
fastcgi_param  SERVER_PORT        $server_port;
fastcgi_param  SERVER_NAME        $server_name;
 
# PHPonly, required if PHP was built with --enable-force-cgi-redirect
fastcgi_param  REDIRECT_STATUS    200;
[root@test24266conf]#

Fastcgi_pass指明了fastcgi进程监听的IP地址和端口,即nginx会将请求转发给这个socket。因此我们需要在php-fpm的配置文件中指明同样的socket。启动Php-fpm监听,查看

[root@test24266~]# netstat -anp | grep 9000
tcp        0     0 127.0.0.1:9000             0.0.0.0:*                  LISTEN      3719/php-fpm

总结一下在nginx与php-fpm模式下,完整的请求和应答流程是这样的:

客户端请求服务器上某个.php文件

Nginx发现是动态资源需要路由到指定根目录下

加载nginx的fast-cgi模块

Fact-cgi监听127.0.0.1:9000(默认socket)

php-fpm接收到请求,启用worker进程处理请求

php-fpm处理完请求,返回给nginx

nginx将结果通过http返回给浏览器

--结束END--

本文标题: nginx下怎么部署php项目

本文链接: https://www.lsjlt.com/news/151.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • nginx下怎么部署php项目
    本文操作环境:linux5.9.8系统、nginx1.9版、Dell G3电脑。nginx下怎么部署php项目?nginx服务器上部署php项目 nginx本身不能处理PHP页面,它只是个web服务器,当接收到请求后,如果是P...
    99+
    2021-08-22
    nginx php
  • nginx下怎么部署vue项目
    本篇内容主要讲解“nginx下怎么部署vue项目”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“nginx下怎么部署vue项目”吧!首先要去nginx官网下下载n...
    99+
    2022-10-19
    nginx vue
  • tomcat下怎么部署php项目
    本教程操作环境:windows7系统、PHP8.1版、Dell G3电脑。tomcat下怎么部署php项目?tomcat 下部署 php由于需要测试一个PHP的环境。故记录此处。环境OS:win8.1 up1 64bittomcat :8....
    99+
    2022-11-03
    tomcat
  • uwsgi+nginx项目部署
    部署Django项目 Django+uWSGI+nginx 部署 django 一个pyhton的开源web框架。 uWSGI 一个基于自有的uwsgi协议、WSGI协议和http服务协议的web网关 nginx 常用的代理服务器 ...
    99+
    2023-01-31
    项目 uwsgi nginx
  • 怎么使用Nginx部署Vue项目
    本篇内容主要讲解“怎么使用Nginx部署Vue项目”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么使用Nginx部署Vue项目”吧!一、安装Nginx 使用XShell连接我们的服务器 配置 ...
    99+
    2023-06-30
  • ubuntu中怎么用nginx部署vue项目
    这篇文章主要介绍“ubuntu中怎么用nginx部署vue项目”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“ubuntu中怎么用nginx部署vue项目”文章能帮助大家解决问题。1.安装nginx更...
    99+
    2023-06-29
  • Centos8下django项目部署 nginx+uwsgi的教程
    1.虚拟环境virtualenv安装 1.安装virtualenv  pip3 install virtualenv 2.创建目录,把项目文件传过来  mkdir My  cd M...
    99+
    2022-06-04
    Centos8 django项目部署 nginx uwsgi django项目部署
  • Linux下怎么部署vue项目
    本文小编为大家详细介绍“Linux下怎么部署vue项目”,内容详细,步骤清晰,细节处理妥当,希望这篇“Linux下怎么部署vue项目”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。1.部署Nginx请参考Linux...
    99+
    2023-06-28
  • Linux下怎么部署java项目
    本篇内容主要讲解“Linux下怎么部署java项目”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Linux下怎么部署java项目”吧!1、准备VMware2、安装Linux系统(本人安装的是Fe...
    99+
    2023-06-27
  • Nginx如何部署SpringBoot项目
    本篇内容介绍了“Nginx如何部署SpringBoot项目”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!新建一个yml文件 applicat...
    99+
    2023-07-05
  • nginx如何部署php7项目
    这篇文章主要讲解了“nginx如何部署php7项目”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“nginx如何部署php7项目”吧!nginx部署php7项目的方法:1、通过install安...
    99+
    2023-06-22
  • tomcat下如何部署php项目
    这篇文章主要介绍“tomcat下如何部署php项目”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“tomcat下如何部署php项目”文章能帮助大家解决问题。tomcat下部署php项目的方法:1、将p...
    99+
    2023-07-04
  • centos7怎么部署php项目
    本文操作环境:centos7系统、PHP7.1版、DELL G3电脑centos7怎么部署php项目CentOS 7部署PHP项目的方法:目录一、安装nginx(自动)二、安装mysql三、修改mysql登录密码四、安装PHP及扩展五、配置...
    99+
    2016-02-08
    php centos7
  • k8s怎么部署php项目
    要在Kubernetes上部署PHP项目,可以按照以下步骤进行操作: 创建一个包含项目代码的Docker镜像。可以使用Docker...
    99+
    2023-10-27
    k8s php
  • 怎么在nginx中部署一个react项目
    这篇文章主要介绍“怎么在nginx中部署一个react项目”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“怎么在nginx中部署一个react项目”文章能帮助大家解决问题。测试项react-demo将...
    99+
    2023-06-05
  • nginx部署多个前端项目
    前提:nginx已在服务器上安装完成 假如有2个项目(一个company,一个test),需要通过ip或者域名来访问,我们通过http://www.test.com来举例 首先把2个静态资源项目或者打包好的项目放到Nginx中 1、ngin...
    99+
    2023-09-10
    nginx 运维 linux 服务器 前端
  • Nginx部署SpringBoot项目的实现
    笔记记录一下用Nginx部署SpringBoot项目 1、新建一个yml文件 application.yml # 端口号 server: port: 2001 2、编写一个Co...
    99+
    2023-03-06
    Nginx部署SpringBoot
  • Windows系统下如何使用nginx部署vue2项目
    这篇文章主要讲解了“Windows系统下如何使用nginx部署vue2项目”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Windows系统下如何使用nginx部署vue2项目”吧!第一步:下...
    99+
    2023-07-05
  • Nginx怎么部署vue项目和配置代理
    这篇文章主要讲解了“Nginx怎么部署vue项目和配置代理”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Nginx怎么部署vue项目和配置代理”吧!1.nginx安装和启动# 安装...
    99+
    2023-06-20
  • 如何在linux下部署php项目
    这篇文章主要介绍了如何在linux下部署php项目,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。  linux下部署php项目环境可以分为两种,一种使用Apache,php,...
    99+
    2023-06-15
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作