搭建 LNMP 建站环境方法步骤如下:
1、安装 CentOS 8 系统
下载 CentOS 8 镜像文件
制作启动盘并启动虚拟机
按照提示进行安装,选择安装语言、分区等选项
设置 root 用户密码和创建普通用户
2、更新系统软件包
运行以下命令更新系统软件包:
“`
sudo yum update y
“`
3、安装 Nginx
运行以下命令安装 Nginx:
“`
sudo yum install epelrelease y
sudo yum install nginx y
“`
4、启动 Nginx 服务并设置开机自启动
运行以下命令启动 Nginx 服务:
“`
sudo systemctl start nginx
“`
运行以下命令设置 Nginx 开机自启动:
“`
sudo systemctl enable nginx
“`
5、安装 MySQL
运行以下命令安装 MySQL:
“`
sudo yum install mariadbserver y
“`
运行以下命令启动 MySQL 服务:
“`
sudo systemctl start mariadb
“`
运行以下命令设置 MySQL 开机自启动:
“`
sudo systemctl enable mariadb
“`
6、配置 Nginx PHPFPM 环境
运行以下命令安装 EPEL(Extra Packages for Enterprise Linux):
“`
sudo yum install epelrelease y
“`
运行以下命令安装 PHPFPM:
“`
sudo yum install phpfpm y
“`
修改 PHPFPM 配置文件 /etc/phpfpm.d/www.conf
,添加以下内容:
“`ini
user = wwwdata
group = wwwdata
listen = /var/run/phpfpm/phpfpm.sock
listen.owner = wwwdata
listen.group = wwwdata
listen.mode = 0660
error_log = /var/log/phpfpm/error.log
access.log = /var/log/phpfpm/access.log
request_slowlog_timeout = 300s
slowlog = /var/log/phpfpm/request_slowlog.log
process_manager = dynamic
pm.max_children = 50
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 35
pm.max_requests = 500
security.limit_extensions = ".php"
“`
重启 PHPFPM 服务:
“`
sudo systemctl restart phpfpm
“`
修改 Nginx 配置文件 /etc/nginx/conf.d/default.conf
,添加以下内容:
“`nginx
server {
listen 80;
server_name example.com; #替换为你的域名或IP地址
root /usr/share/nginx/html; #网站根目录,可以根据需要修改路径和名称
index index.php index.html index.htm; #默认首页文件名,可以根据需要修改顺序和名称列表
error_page 500 502 503 504 /50x.html; #自定义错误页面,可以根据需要修改错误代码和页面名称及路径关系,这里将50x错误重定向到50x.html页面,也可以使用rewrite指令将错误重定向到其他页面,建议将该指令放在server块中,如果放在http块中,则无法生效,因为http块中的location匹配的是URI,而error_page匹配的是状态码,所以当出现错误时,Nginx会返回一个状态码,而不是一个URI,在http块中使用error_page指令无法捕获到这些状态码,只有在server块中使用error_page指令才能正确捕获到这些状态码,由于Nginx的请求处理流程是先检查URI是否匹配location,然后再检查状态码是否匹配error_page,所以当出现错误时,如果location匹配到了一个具体的URI,那么就不会去匹配error_page了,在server块中使用error_page指令可以确保在任何情况下都能正确处理错误页面,还可以使用try_files指令来尝试访问静态文件,如果静态文件不存在,则返回指定的错误页面,try_files $uri $uri/ /index.php?$query_string;表示首先尝试访问请求的URI或其对应的目录,如果找不到对应的文件或目录,则返回index.php页面进行处理,注意:try_files指令只能用于处理静态文件请求,对于PHP脚本请求,应该使用fastcgi_pass指令将其转发给PHP解释器进行处理,不要忘记在Nginx配置文件中添加location ~ .php$ { fastcgi_pass unix:/var/run/php/php7.2fpm.sock; }这行代码来指定PHP解释器的Unix套接字文件路径,这个路径可能因不同的PHP版本而有所不同,请根据实际情况进行修改。
原创文章,作者:酷盾叔,如若转载,请注明出处:https://www.kdun.com/ask/357884.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复