从零开始学建站(四)
——基于LNMP的网站建设
两年前,我写过一篇名为《从零开始基于CentOS7配置PHP开发环境》的小文,现在新冠期间换个名字,将其整理以存之。
四、安装NGINX
- 安装Nginx源
$sudo yum install epel-release -y
- 安装Nginx服务
$sudo yum install nginx -y
- 配置Nginx服务
为了服务能正常运行及个人习惯,我们还需要对nginx服务进行一些必要的配置,主要是修改主目录及对PHP的支持。
$sudo vi /etc/nginx/nginx.conf
先修改http头部的index值
# Load modular configuration files from the /etc/nginx/conf.d directory. See- http://nginx.org/en/docs/ngx_core_module.html#include
# for more information.
include /etc/nginx/conf.d/*.conf;
# index index.php index.html index.htm;
按动方向键,先将光标移至index后面,再按[i]键,进入插入模式,在index.html前键入index.php,然后依次按[Esc][:][w][q]键后回车。
vi是Linux系统中非常强大的一个工具了,它的使用方法完全可以另起一篇文章,本文只是使用了最简单的功能,常用操作如下,后文不再详述。
打开文档 vi [路径]
编辑模式 i
命令模式 Esc:
保存退出 wq
直接退出 q!
接下来修改server字段中的listen端口(现在网络运营商大规模封80,如果是自建服务器建议修改默认端口1025- 65535之间)和root主目录及index索引。
server {
listen 80;
listen [::]:80 default_server;
server_name localhost;
root /var/www/html;
# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;
location / {
#省略中间N多代码……
}
}
再调整 server中location /{}的参数 :
location / {
root /var/www/html;
index index.php index.html index.htm;
}
# redirect server error pages to the static page /40x.html
#
error_page 404 /404.html;
location = /40x.html {
}
然后调整 server中location ~\.php${}的参数
location ~ \.php$ {
root /var/www/html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
下面我们要在服务器上开放Http的端口(如果你修改了端口号,请将下面的80改为你自定义的端口号),并重启防火墙。
$sudo systemctl restart firewalld
$sudo firewall-cmd –zone=public –add-port=80/tcp –permanent
$sudo firewall-cmd –zone=public –add-port=443/tcp –permanent
$sudo firewall-cmd –reload
- 配置php-fpm服务
这里需要将php-fpm的运行用户信息改为nginx
$sudo vi /etc/php-fpm.d/www.conf
; Unix user/group of processes
; Note: The user is mandatory. If the group is not set, the default user's group
; will be used.
; RPM: apache Choosed to be able to access some dir as httpd
user = nginx
; RPM: Keep a group allowed to write in log dir.
group = nginx
- 启动MySQL服务
$sudo systemctl start mysqld
- 启动php-fpm服务
$sudo systemctl start php-fpm
- 启动Nginx服务
$sudo systemctl start nginx
- 设置MySQL服务自启动项
$sudo systemctl enable mysqld
- 设置nginx服务自启动项
$sudo systemctl enable nginx
- 设置php-fpm服务自启动项
$sudo systemctl enable php-fpm
- 重载服务配置
$sudo systemctl daemon-reload
- 查看服务状态
$sudo systemctl | grep running