之前文章Debian 9 系统配置PHP-MySQL-Nginx运行环境说到,在Debian 9 系统上配置LNMP运行环境,这次打算来说一下配置好环境之后如何添加网站。
其实,在Nginx-MySQL-PHP环境下,添加网站实际上就是增加一个Nginx配置文件并设置好相关设置信息,然后放置好网站对应文件就行了。
首先,来到Nginx的配置文件目录下,我的习惯是直接在/etc/nginx/conf.d/下直接新建网站配置文件。因为各个系统的差异,有些系统在/etc/nginx/site-available下,但是我更推荐在/etc/nginx/conf.d/新建网站配置文件,这样做就不管在什么系统都能统一管理Nginx的配置文件。
到/etc/nginx/conf.d/文件夹下,新建一个配置文件,假如说起名叫linodovultr.conf,注意,文件格式必须为.conf,这样才能被Nginx正确加载到,然后把下面这段代码复制进去:
server {
listen 80;
# 所要绑定的域名
server_name www.linodovultr.com;
charset utf-8;
# 访问日志信息 建议取一个好记切易于分辨的名字
access_log /var/log/nginx/linodovultr.access.log main;
error_log /var/log/nginx/linodovultr.error.log error;
location / {
root /var/www/linodovultr;
index index.php index.html index.htm;
}
# 定义40x错误页
error_page 404 /404.html;
location = /404.html {
root /usr/share/nginx/html;
}
# 定义50x错误页
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
# 将相关请求传递给后端的PHP处理器
location ~ \.php$ {
root /var/www/linodovultr;
# php-fpm 的监听地址 和php-fpm的监听地址一样
fastcgi_pass unix:/run/php/php7.0-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
一个最简单的Nginx网站就这么几行配置就好了。
关键的配置项我在上面都写了注释,根据实际情况进行修改就好了。
保存退出编辑器之后,我们需要让Nginx自行检查配置项是否全部正确,用如下命令检查:
nginx -t
如果配置文件有错误,Nginx会提示错误的原因,我们只需要根据Nginx的提示修改即可,比如说:
root@xxx:/etc/nginx/conf.d# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: [emerg] open() "/etc/nginx/logs/linodovultr.access.log" failed (2: No such file or directory)
nginx: configuration file /etc/nginx/nginx.conf test failed
这个错误是说明Nginx的日志文件保存目录有问题,因为/etc/nginx/logs/目录不存在,我们只需要修改成正确的存放位置即可。
所有配置文件正确无误后,会输出如下信息:
root@xxx:/etc/nginx/conf.d# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
到这一步我们的网站就算新增好了,只需重启一下Nginx及PHP-FPM就能生效。重启命令:
systemctl restart nginx
systemctl restart php7.0-fpm
到上面配置文件指定目录新建一个PHP文件,查看效果:
vim /var/www/linodovultr/info.php
<?php
phpinfo();
?>
浏览器打开,查看效果:
如果访问出错,可以到/var/log/nginx/查看当前网站的日志文件,排查错误。