nginx上部署PHP

环境:centos7  nginx1.16.1

(1)先将tp源代码下载到nginx目录下

tp放到/usr/local/nginx/目录下,root为相对路径,如:

tp在/usr/local/nginx/wwwroot/ 则 root wwwroot/public;

tp不再nginx目录,则使用alias 绝对路径指定,不需要root。

注意:存放tp的目录要有可执行权限,否则无法进入目录,访问报403

(2)servr配置:

server {
listen 80;
server_name www.fanshehu.xyz localhost;

charset utf8;  

access_log logs/host.access.log;

root www/tp5/public;
index index.php index.html index.htm; #如果请求是站点根目录,则显示这些页面

location / {              #根目录,所有请求都能匹配到
  if (!-e $request_filename) {    #如果请求的不是一个文件或目录,则重写。否则请求是站点根目录或静态资源,nginx将静态资源以二进制流返回
    rewrite ^/(.*)$ /index.php/$1 last;
    break;
  }
}
location ~ \.php {        #如果请求有.php
  root www/tp5/public;       
  fastcgi_pass 127.0.0.1:9000;    #交给php-fpm处理
  #fastcgi_index index.php;    #如果请求是网站根目录,则加上index.php在url后,此时$fastcgi_script_name等于index.php。在这里并不需要,可注释掉
  include fastcgi.conf;        #引入fastcgi.conf,里面有php-fpm需要的参数
  set $real_script_name $fastcgi_script_name;   # 
  if ($fastcgi_script_name ~ "^(.+?\.php)(/.+)$") {
  set $real_script_name $1;
  set $path_info $2;
  }
  fastcgi_param SCRIPT_FILENAME $document_root$real_script_name;  #此时脚本
  fastcgi_param SCRIPT_NAME $real_script_name;
  fastcgi_param PATH_INFO $path_info;

}

原文地址:https://www.cnblogs.com/fanshehu/p/11904475.html

时间: 2024-10-18 15:19:41

nginx上部署PHP的相关文章

Nginx上部署HTTPS + HTTP2

Nginx上部署HTTPS依赖OpenSSL库和包含文件,即须先安装好libssl-dev(或者OpenSSL),且ln -s /usr/lib/x86_64-linux-gnu/libssl.so  /usr/lib/,然后在编译配置Nginx时要指定--with-http_ssl_module和--with-http_v2_module.另外,若要在本地运行openssl命令,要安装OpenSSL包,本人用的OpenSSL-1.0.2g.注:本文采用Ubuntu 16.04上的操作实例. 下

Nginx上部署HTTPS

Nginx上部署HTTPS依赖OpenSSL库和包含文件,即须先安装好libssl-dev,且ln -s /usr/lib/x86_64-linux-gnu/libssl.so  /usr/lib/,然后在编译配置Nginx时要指定--with-http_ssl_module.另外,要在Shell中运行openssl命令,还要安装openssl包,本人用的OpenSSL-1.0.2g.注:本文采用Ubuntu 16.04上的操作实例. 下图展示了数字证书(HTTPS中使用的由CA签名的公钥证书)

SSL/TLS深度解析--在 Nginx 上部署 TLS

利用 openssl 源代码安装 Nginx [[email protected] software]# tar xf nginx-1.15.5.tar.gz [[email protected] software]# cd nginx-1.15.5/ [[email protected] nginx-1.15.5]# groupadd nginx [[email protected] nginx-1.15.5]# useradd nginx -M -s /sbin/nologin -g ngi

mac os x 之通过远程主机在nginx上部署web静态页面

1.mac使用ssh命令登陆远程主机 因为苹果mac os x自带ssh命令,所以我们只需打开终端输入 $ ssh [email protected] 在这之前最好在服务器上上传自己的ssh key,避免每次登陆输入密码 稍作等待就连接上服务器了   2.mac使用scp命令向远处主机上传文件 在终端窗口,按下command+n,打开另一个终端窗口,并输入 $ scp ~/local/file [email protected]:~/file  当然一般我们上传的是文件夹,所以加上-r $ sc

在nginx上部署页面,使用ip访问页面,实现跨设备访问本地静态页面

1.在nginx官网下载并安装nginx,下载链接:http://nginx.org/en/download.html. 2.修改安装包中conf文件夹中的nginx.conf的root路径,使用#将默认的路径注释掉,增加新的root路径,如下: location / { #root html; root F:/weike/dazuoye; index index.html index.htm; } 3.命令行输入ipconfig查看本机ip地址 4.在pc端或移动端浏览器输入http://xx

Ubuntu15.04上部署python3.4+django1.8.8+mysql5.7+uwsgi+nginx

经过无数的百度,花了一天的时间,艰难的把django项目给部署到了Ubuntu15.04上.废话少说了,直接贴上部署步骤: 一.python安装 1.www.python.org下载 如下载的为 Python-3.4.3.tar.xz 2.解压: [email protected]:/home/dodo/Downloads/# xz -d  Python-3.4.3.tar.xz命令后得到Python-3.4.3.tar [email protected]:/home/dodo/Download

基于nginx和uWSGI在Ubuntu系统上部署Django项目

1. nginx1.1 安装sudo apt-get install nginx1.2启动.停止和重启sudo /etc/init.d/nginx startsudo /etc/init.d/nginx stopsudo /etc/init.d/nginx restart或者sudo service nginx startsudo service nginx stopsudo service nginx restart2. uWSGI安装用python的pip安装最简单:apt-get inst

[Redmine] Centos5上安装Redmine3.0+nginx+thin部署

项目管理的需要所以安装Redmine,其实wiki放在上面也不错的. 首先是安装,ruby应用第一次装,把坑记住. nginx, mysql是已经安装好的,只需要配置, 结合nginx的部署方式很多,我这里就选择一种,因为ruby没接触过,只是应用能跑通就好. 基础环境 centos5.1 ruby on rails 4.2 ruby 2.0.0 2.1 2.2 1.9.3 mysql5.0 + redmine 3.0.4 首先是版本对照 请参见 installation guide 下面都是r

最简单的nginx教程 - 如何把一个web应用部署到nginx上

最简单的nginx教程 - 如何把一个web应用部署到nginx上 https://www.jianshu.com/p/fb7e58334b6a nginx代理本地文件夹 https://www.jianshu.com/p/52c42d0a052e 利用nginx实现指定路由 https://blog.csdn.net/shuhui018125/article/details/87249080 nginx路由文件配置 https://www.cnblogs.com/omg-two/p/71379