《手动部署LNMP环境(CentOS 7)》在Centos7架构LNMP服务器后部署WordPress。
下载CentOS 7:参考VirtualBox虚拟机安装Centos7详细教程图解_virtualbox安装centos7-CSDN博客
准备环境:
1.首先关闭防火墙,在Xshell 7中
输入以下代码:
systemctl stop firewalld systemctl disable firewalld
第一步关闭防火墙显示这个就可OK。
2.关闭SELinux
SELinux是一个Linux内核安全模块,最初由美国国家安全局(NSA)开发,后来被纳入Linux内核中。它提供了强制访问控制(MAC)机制,与传统的基于用户和组的访问控制(DAC)相比,它提供了更加细粒度和可配置的安全策略。
也是在Xshell中输入以下代码:
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config setenforce 0
在Xshell中显示
如果在终端输入第一行时显示:
错误及解决方案:
可以先在第一行输入su -进入root模式,其中输密码时屏幕不会显示
输完代码后什么都不显示,就像这种即为成功
这段代码是用来修改SELinux的配置,将SELinux状态从强制模式改为禁用模式
-
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config: 这部分代码使用sed命令在 /etc/selinux/config 文件中替换所有出现的 SELINUX=enforcing 字符串为 SELINUX=disabled。这样做是为了修改系统的SELinux配置文件,将SELinux状态设置为禁用。
-
setenforce 0: 这一行命令则是立即将当前运行的SELinux状态设置为临时禁用,即切换到宽容模式(permissive),使得SELinux不再强制执行安全策略,而是仅仅记录违规操作而不阻止它们。这个设置是临时的,系统重启后会恢复到配置文件中的设定状态。
这段代码通常用于需要临时禁用SELinux的情况,例如在调试或者安装某些软件时,由于SELinux的严格限制导致操作受限。然而,禁用SELinux会降低系统的安全性,因此在生产环境中应谨慎使用,并在完成需要禁用SELinux的操作后及时恢复其状态。
安装:
1.安装 Nginx
在Xshell中输入以下代码即为安装Nginx
yum -y install nginx
显示这个即为成功:
在CentorOS中下载的话会有以下情况:
错误及解决方案
有可能他会显示以下页面:
没有可用的nginx包:原因是nginx位于第三方的yum源里面,而不在centos官方yum源里面
解决方法:安装epel
输入以下代码:
sudo yum install epel-release
期间它会提示你【y/d/N】你一直输入y就行,等待一会就代表成功了
接着输入代码:
yum update
这个过程可能时间会长一点,是在更新。
显示的是为这个:
最后在输入代码yum -y install nginx就可以下载了
下载成功显示的是这个:
这段代码是用来通过yum包管理器安装Nginx Web服务器的。具体来说:
- yum: 是一个基于RPM包管理的包管理器,用于在CentOS和其他基于Red Hat的Linux发行版上安装、更新和移除软件包。
- -y: 这个选项告诉yum在执行安装操作时自动回答"是",而不需要用户手动确认。这样可以在安装过程中跳过确认提示,使得安装过程自动化。
- install: 是yum的一个操作命令,表示要执行安装操作。
- nginx: 是要安装的软件包名,这里指的是Nginx Web服务器。
综合起来,这段代码的作用是在系统上安装Nginx Web服务器,并且在安装过程中自动回答"是",以便自动化安装过程。
2.安装 MySQL
在终端中输入下述代码
rpm -Uvh http://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm yum -y install mysql-community-server --nogpgcheck
第一行代码是更新yum库
显示
即为成功
第二行代码是安装mysql,这个过程很长,需要等待他下载完
显示
即为成功
3.安装PHP
在终端中输入代码
yum -y install https://repo.ius.io/ius-release-el7.rpm https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm yum -y install php70w-devel php70w.x86_64 php70w-cli.x86_64 php70w-common.x86_64 php70w-gd.x86_64 php70w-ldap.x86_64 php70w-mbstring.x86_64 php70w-mcrypt.x86_64 php70w-pdo.x86_64 php70w-mysqlnd php70w-fpm php70w-opcache php70w-pecl-redis php70w-pecl-mongodb
第一句代码是添加epel源
显示
第二句是添加 webtatic 源
第三句是安装PHP
配置
1.配置Nginx
a.备份:
cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak
b.添加Nginx对PHP的支持
先输入代码进入nginx.conf文件中
vim /etc/nginx/nginx.conf
include下
要复制的代码为:
location / { index index.php index.html index.htm; } #添加下列信息,配置Nginx通过fastcgi方式处理您的PHP请求。 location ~ .php$ { root /usr/share/nginx/html; #将/usr/share/nginx/html替换为您的网站根目录,本文使用/usr/share/nginx/html作为网站根目录。 fastcgi_pass 127.0.0.1:9000; #Nginx通过本机的9000端口将PHP请求转发给PHP-FPM进行处理。 fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; #Nginx调用fastcgi接口处理PHP请求。 }输入后显示的整体页面为:
注意画框的就为所添加的
之后按下ESC键输入“:wq”退出vim模式
这段代码是用来配置Nginx以处理PHP请求
-
location / { ... }: 这个配置块指定了当访问网站的根目录时应该如何处理请求。其中,index index.php index.html index.htm; 指定了当访问目录时,Nginx应该先尝试加载 index.php 文件,如果不存在再依次尝试加载 index.html 和 index.htm 文件。
-
location ~ .php$ { ... }: 这个配置块定义了当请求以 .php 结尾时应该如何处理。这里使用了正则表达式 ~ .php$,表示匹配以 .php 结尾的URL。在这个配置块中:
- root /usr/share/nginx/html;: 指定了PHP文件的根目录,即PHP文件所在的文件夹。
- fastcgi_pass 127.0.0.1:9000;: 指定了Nginx将PHP请求通过本地的9000端口转发给PHP-FPM(FastCGI Process Manager)进行处理。PHP-FPM是PHP的一个处理器,用于管理PHP进程。
- fastcgi_index index.php;: 指定了当请求不带文件名时,默认加载的PHP文件为 index.php。
- fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;: 设置了fastcgi_param参数 SCRIPT_FILENAME,告诉PHP解析器要执行的PHP文件路径。
- include fastcgi_params;: 包含了一个额外的文件 fastcgi_params,该文件中包含了一些默认的FastCGI参数设置。
通过以上配置,Nginx就能够正确地处理PHP请求,并将这些请求转发给PHP-FPM进行处理,从而实现了Nginx与PHP的集成。
2.配置Mysql
a.获取 root 用户的初始密码
在终端输入代码
systemctl start mysqld grep 'temporary password' /var/log/mysqld.log
这是临时密码zT后面就是临时密码
不要单独输入第一行代码,不然会出现图示第二行现象,直接复制黏贴进去全部。
b.配置 MySQL 的安全性
mysql_secure_installation
第一行Enter password for user root:输入刚刚zT那个临时密码,然后输入过程不可见,屏幕不显示
New password是设置的:输入新密码。长度为8至30个字符,必须同时包含大小写英文字母、数字和特殊符号
Re-enter new password是重复输入你刚刚设置的新密码
Chan the 后面输入大写Y就行
之后他还会显示New password:你就再输入你设置的密码
Do you 后面输入Y即可
b.删除匿名用户
Y需要你自己手动输进去
c.禁止 root 远程登录
Y自己手动输入
d.删除test库以及用户对test库的访问权限
Y自己手动输入
e.重新加载授权表
3.配置PHP
a.获取网站根目录
输入命令
vim /etc/nginx/nginx.conf
是你在nginx.conf配置文件中location ~ .php$大括号内,配置的 root 参数值。
b.新建phpinfo.php文件,用于展示PHP信息
终端输入代码
vim /usr/share/nginx/html/phpinfo.php
进入这个页面
按i进入插入模式插入代码
之后按ESC退出插入模式,按“:wq”退出vim模式
启动服务
在Xshell输入代码
systemctl restart nginx mysqld php-fpm systemctl enable nginx mysqld php-fpm
显示
即为成功
验证LNMP是否部署成功
a.在Windos浏览器中输入“你的阿里云公网ip地址+phpinfo.php”显示以下页面即为成功
b.验证 mysql 与 php 连通性是否正常
输入
mysql -uroot -p
输入刚刚创建的密码
输入
create database wordpress;
创建库
输入
grant all on wordpress.* to 'wordpress'@'%' identified by '刚刚满足数字 字母特殊符号的密码'; grant all on wordpress.* to 'wordpress'@'localhost' identified by '和上述一样';
创建库并授权
注意代码不要直接复制直接自己打上去
接着输入
cat >/usr/share/nginx/html/mysql.php
2.上传Wendasns软件包
先使用命令
sudo yum install lrzsz -y
下载rz命令包
然后使用命令
cd /var/www/html/ rz -b
从Windows导入Wendasns软件包到云服务器
使用这俩命令后显示
选取文件名为 Wendasns-v2.0.2打开
接着解压至指定目录
使用命令
unzip Wendasns-v2.0.2.zip -d wendasns
是解压刚刚传的的压缩包至指定目录
使用这个命令可能会出现以下情况
原因是unzip命令没下载
下载unzip命令:
sudo yum install unzip
之后就可以用该命令了
因为Wendasns对环境版本要求较高所以改为WordPress
与上述一致,第一步下载WordPress官网下载地址:下载最新版本Download – WordPress.org China 简体中文
和上述一样用命令
cd /var/www/html/ rz -be
导入Wordpress软件包
使用命令
unzip wordpress-6.5.2-zh_CN.zip
解压至指定目录
之后使用命令
cd wordpressls ls
查看内容
即为成功
3.以Apache为例,修改Apache主目录至wordpress:
使用命令
vim /etc/httpd/conf/httpd.conf
把
-











































