lnmp一键安装包淌过的坑 --手动虚拟主机配置
安装一键包的时候教程 官网也有虚拟主机的教程
一下示例:
后来自己手动去做 就遇到了一个大家都遇到的问题 及时安装让nginx支持解析PHP脚本解析
网上也有一些示例 但是配置了 不是502 就是下载文件
一般 nginx 虚拟主机配置
颜色标出解析PHP配置的一块
# 虚拟主机以server进行定义
server {
# 监听的端口,多个端口之间使用空格进行间隔
listen 80;
# 用来定义访问的ip地址或者域名,多个域名之间使用空格分开
server_name examples.com www.examples.com;
# 用于指定站点网页的默认编码格式
charset utf-8;
# 用来指定此站点的访问日志存放路径,后面的main用于设定日志的格式
#access_log logs/examples.com.access.log main;
# 用于指定站点的网页根目录,可以是相对路径(相对于nginx安装目录),也可以是绝对路径
#root /www/examples.com
# 用于指定访问的默认首页地址
#index index.html index.php
# 用来指定站点默认访问的设置,里面的root和index用法和效果与上面是一样的
# 两种方式使用任何一种都是可以的,这里采用 location / {} 的方式
location / {
root /www/examples.com;
index index.html index.php;
}
# 使用error_page指令设置各种错误信息的返回页面
# 错误信息的返回页面大小如果低于512k则会被ie浏览器替换为ie默认的错误页面
#error_page 404 /404.html;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
# nginx的location指令用于设置url地址匹配,支持正则表达式匹配,也支持条件判断匹配。
# 可以通过location指令实现nginx对动态、静态网页的过滤处理。
# 下面是对所有的图片设置缓存30天
location ~ .*.(gif|jpg|jpeg|png|bmp|swf)$ {
expires 30d;
}
# 对js和css文件缓存1小时
location ~ .*.(js|css)$ {
expires 1h;
}
# 下面是列出了两种解析php的方式:
# 第一种是简单的将所有以php结尾的请求都交给本机的8080端口进行处理
#location ~ .php$ {
# proxy_pass http://127.0.0.1:8080;
#}
# 第二种是将php的请求交给FastCGI进程监听的ip地址及端口,这里转发给PHP_FPM
location ~ .php$ {
# 设定用于解析php的根目录,通常为网站根目录
root /www/examples.com;
# 地址和端口与php_fpm中设置的一致
fastcgi_pass 127.0.0.1:9000;#重要是这一块 解析PHP使用的路径和方式 原始php-fmp里是用的/tmp/php-cgi.sock;
# 默认首页
fastcgi_index index.php;
# 指定防止php动态程序的主目录,也就是$fastcgi_script_name前面指定的路径,建议与网站根目录一致或直接使用$document_root
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
# 防止直接访问 .htaccess 文件,建议开启
location ~ /.ht {
deny all;
}
}
虽然你使用了上边的配置 但是他只支持自己编译安装的环境 不支持lnmp一键包
多次更改之后发现 lnmp 把解析PHP的这一块放在一个配置文件里了
include other.conf; #就只家伙
只要引用他就可以了
至此就可以解决lnmp 手动配置虚拟主机无法解析PHP的问题了
原文地址:https://www.cnblogs.com/bcphp/p/8855115.html