参考自阿里云搭建教程
Nginx版本: Nginx/1.20.2
MySQL版本:MySQL 8.0.26
PHP版本:PHP 7.3.20
安装LNMP环境
一、查看防火墙状态,然后关闭防火墙,关闭SELinux
运行systemctl status firewalld命令查看当前防火墙的状态。
systemctl status firewalld
如果防火墙的状态参数是inactive,则防火墙为关闭状态。
如果防火墙的状态参数是active,则防火墙为开启状态。本示例中防火墙为开启状态,因此需要关闭防火墙。
关闭防火墙。如果防火墙为关闭状态可以忽略此步骤。
如果您想临时关闭防火墙,运行命令systemctl stop firewalld。
systemctl stop firewalld
如果您想永久关闭防火墙,运行命令systemctl disable firewalld。
systemctl disable firewalld
运行getenforce命令查看SELinux的当前状态。
getenforce
如果SELinux状态参数是Disabled,则SELinux为关闭状态。
如果SELinux状态参数是Enforcing,则SELinux为开启状态。本示例中SELinux为开启状态,因此需要关闭SELinux。
关闭SELinux。如果SELinux为关闭状态可以忽略此步骤。
如果您想临时关闭SELinux,运行命令setenforce 0。
setenforce 0
如果您想永久关闭SELinux,运行命令vim /etc/selinux/config编辑SELinux配置文件。
vim /etc/selinux/config
回车后,把光标移动到SELINUX=enforcing这一行,按i键进入编辑模式,修改为SELINUX=disabled,按Esc键,然后输入:wq并按Enter键以保存并关闭SELinux配置文件。 最后重启系统使设置生效。
二、开始安装LNMP环境
安装Nginx
Nginx官方下载链接获取适用于CentOS 8系统的多版本的Nginx安装包
现在用的是 Nginx/1.20.2
dnf -y install http://nginx/packages/centos/8/x86_64/RPMS/nginx-1.20.2-1.el8.ngx.x86_64.rpm
查看Nginx版本
nginx -v
安装MySQL
dnf -y install @mysql
查看MySQL版本
mysql -V
安装PHP
添加并更新EPEI源
dnf -y install epel-release
dnf -y update epel-release
删除缓存的无用软件包并更新软件源
dnf clean all
dnf makecache
启用php:7.3模块
dnf module enable php:7.3
(现在使用的是PHP7.3,如果您需要使用PHP 7.4版本,需要先安装remi源。remi源安装命令为dnf -y install https://rpms.remirepo/enterprise/remi-release-8.rpm)
安装PHP相应的模块
dnf -y install php php-curl php-dom php-exif php-fileinfo php-fpm php-gd php-hash php-json php-mbstring php-mysqli php-openssl php-pcre php-xml libsodium
查看PHP版本
php -v
配置Nginx
查看Nginx配置文件的默认路径
cat /etc/nginx/nginx.conf
在http大括号内,查看include配置项。即配置文件的默认路径
在配置文件的默认路径下,备份默认配置文件
cd /etc/nginx/conf.d
cp default.conf default.conf.bak
修改默认配置文件
vim /etc/nginx/conf.d/default.conf
在location大括号内,修改以下内容
location / {
#将该路径替换为您的网站根目录。
root /usr/share/nginx/html;
#添加默认首页信息index.php。
index index.html index.htm index.php; }
去掉被注释的location ~ .phpKaTeX parse error: Expected 'EOF', got '#' at position 8: 大括号内容前的#̲,并修改大括号的内容。 loc… {
#将该路径替换为您的网站根目录。
root /usr/share/nginx/html;
#Nginx通过unix套接字与PHP-FPM建立联系,该配置与/etc/php-fpm.d/www.conf文件内的listen配置一致。
fastcgi_pass unix:/run/php-fpm/www.sock;
fastcgi_index index.php;
#将/scripts f a s t c g i s c r i p t n a m e 修 改 为 fastcgi_script_name修改为 fastcgiscriptname修改为document_root$fastcgi_script_name。
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
#Nginx调用fastcgi接口处理PHP请求。
include fastcgi_params; }
启动Nginx服务
systemctl start nginx
systemctl enable nginx
浏览器访问IP显示这个页面就正常了
配置MySQL
启动MySQL,并设置为开机自启动
systemctl enable --now mysqld
查看MySQL是否已启动
systemctl status mysqld
MySQL安全性操作并设置密码
mysql_secure_installation
命令运行后,根据命令行提示执行如下操作。 输入Y并回车开始相关配置。 选择密码验证策略强度,输入2并回车。
策略0表示低,1表示中,2表示高。建议您选择高强度的密码验证策略。设置MySQL的新密码并确认。
输入Y并回车继续使用提供的密码。 输入Y并回车移除匿名用户。 设置是否允许远程连接MySQL。 不需要远程连接时,输入Y并回车。
需要远程连接时,输入N或其他任意非Y的按键,并回车。 输入Y并回车删除test库以及对test库的访问权限。 输入Y并回车重新加载授权表。
配置PHP
vi /etc/php-fpm.d/www.conf
找到user = apache和group = apache,将apache修改为nginx
新建phpinfo.php文件,用于展示PHP信息
vim /usr/share/nginx/html/phpinfo.php
输入
<?php echo phpinfo(); ?>
启动PHP-FPM
systemctl start php-fpm
浏览器输入IP/phpinfo.php访问显示以下页面正常
LNMP环境部署成功,测试访问LNMP平台成功后,用命令将phpinfo.php文件删除
rm -rf /usr/share/nginx/html/phpinfo.php
开始安装WordPress
进入MySQL数据库,使用root用户登录MySQL,并输入密码。密码为您在搭建环境时为数据库设置的密码。
mysql -uroot -p
为WordPress网站创建数据库,示例创建数据库名为wordpress
create database wordpress;
创建一个新用户管理WordPress库,提高安全性。
MySQL在5.7版本后默认安装了密码强度验证插件validate_password。您可以登录MySQL后查看密码强度规则。
show variables like "%password%";
创建新用户user,新用户密码为Aa123456
create user 'user'@'localhost' identified by 'Aa123456';
赋予用户对数据库wordpress的全部权限。
grant all privileges on wordpress.* to 'user'@'localhost';
使配置生效。
flush privileges;
退出MySQL
exit;
进入Nginx网站根目录
cd /usr/share/nginx/html
下载WordPress压缩包,Wordpress官网可以下载最新安装包
wget https://cn.wordpress/latest-zh_CN.zip
解压WordPress压缩包
unzip latest-zh_CN.zip
将WordPress安装目录下的wp-config-sample.php文件复制到wp-config.php文件中,并将wp-config-sample.php文件作为备份。(这一步可以先不做,第一次进入会提示设置,做了方便一些)
cd /usr/share/nginx/html/wordpress
cp wp-config-sample.php wp-config.php
编辑wp-config.php文件
vim wp-config.php
按i键切换至编辑模式,根据已配置的WordPress数据库信息,修改MySQL相关配置信息,修改代码如下所示。
WordPress网站的数据信息将通过数据库的user用户保存在名为wordpress的数据库中。 MySQL 设置 -具体信息来自您正在使用的主机
WordPress数据库的名称
define('DB_NAME', 'wordpress');
MySQL数据库用户名
define('DB_USER', 'user');
MySQL数据库密码
define('DB_PASSWORD', 'Aa123456');
MySQL主机
define('DB_HOST', 'localhost');
修改Nginx配置文件
vi /etc/nginx/conf.d/default.conf
在location /大括号内,将root后的内容替换为WordPress根目录
重启Nginx服务
systemctl restart nginx
安装并登录WordPress网站。
使用浏览器访问IP,进入WordPress安装页面。
填写网站基本信息,然后单击安装WordPress。
填写信息参数说明:
站点标题:WordPress网站的名称。
用户名:登录WordPress时所需的用户名,请注意安全性。
密码:登录WordPress时所需的密码,建议您设置安全性高的密码。
您的电子邮件:用于接收通知的电子邮件。
单击登录。
输入在安装WordPress时设置的用户名和密码,然后单击登录。
成功进入您个人的WordPress网站
Nginx搭建WordPress下载主题、插件需要FTP解决办法,输入下面命令
chown -R nginx:nginx /usr/share/nginx/html/wordpress/
问题的根源在于wordpress目录没有nginx权限,加上去即可解决
apache应该是下面这个添加权限
chown -R www:www /yourwordpressdir
另外,如果有错误提示:
”chown: changing ownership of ‘wordpress目录.user.ini’: Operation not permitted“
说明你的wordpress根目录下的.user.ini文件有权限限制,只需用
chattr -i /yourwordpressdir/.user.ini
解锁权限,然后重新执行上述的chown命令即可。
更多推荐
Centos Stream 8安装LNMP环境+WordPress
发布评论