YUM方式安装软件的优点就是简单、方便、快捷,本文介绍在Linux上如何使用YUM方式快速安装LNMP并部署WordPress。使用Linux CentOS 7.9 + Nginx 1.18 + MySQL 8.0.23 + PHP 7.4.19来搭建WordPress的运行环境。

本文的操作在华为云ECS阿里云ECS以及VMware WorkStation虚拟化软件上验证过,成功部署WordPress 5.7。

LNMP是什么?

LNMP是指一组来运行动态网站或者服务器的开源软件名称的首字母缩写。L指Linux,N指Nginx,M一般指MySQL,也可以指MariaDB,P一般指PHP,也可以指Perl或Python。LNMP典型的代表就是:Linux + Nginx + MySQL + PHP这种网站服务器架构,本文中的LNMP就是指这种典型的网站服务器架构。

为什么选择LNMP部署WordPress?

LNMP架构主要有以下几方面的优势:

  • Linux、Nginx、MySQL都是开源软件,可以免费使用,降低部署网站的成本。
  • Linux Server比Windows Server占用更少的系统资源,稳定性更好,安全性相对更高一些。
  • Nginx相比Apache占用更少的系统资源,支持高并发,支持四到七层的负载均衡,在构建大型的站点时,Nginx的优势明显。
  • WordPress是使用PHP语言开发的,必须要在支持PHP的环境中才能运行。

环境信息

系统、软件名称 版本 官网下载地址
Linux CentOS 7.9 CentOS 7.9
Nginx Nginx 1.18.0 Nginx 1.18.0
MySQL MySQL 8.0.23 MySQL 8.0.23
PHP PHP 7.4.19 PHP 7.4.19
WordPress WordPress 5.7 中文版 英文版

操作步骤

在Linux上使用YUM方式快速安装LNMP并部署WordPress的安装流程如下所示:

①安装与配置MySQL → ②安装与配置NGINX → ③安装与配置PHP → ④安装WordPress前的准备 → ⑤安装WordPress

步骤一:安装与配置MySQL

1、卸载MySQL和MariaDB

使用SecureCRT、Xshell等工具通过SSH方式远程连接到CentOS服务器,如果您的系统中已经安装了MySQL或者MariaDB,请卸载MySQL和MariaDB数据库后再安装MySQL8.0,避免导致安装MySQL8.0不成功。命令如下:

rpm -qa | grep mysql*              # 查询是否安装了mysql
rpm -e --nodeps mysql* # 卸载mysql
rpm -qa | grep mariadb* # 查询是否安装了MariaDB
rpm -e --nodeps mariadb-libs-5.5.68-1.el7.x86_64 # 卸载MariaDB

2、添加MySQL的Yum软件仓库

yum -y install https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm

3、安装MySQL

安装MySQL-community-server-8.0.23需要下载的软件包一共573M左右,安装完成后输出信息如下:

yum -y install mysql-community-server-8.0.23-1.el7

4、启动MySQL服务

启动MySQL服务

systemctl start mysqld

检查MySQL服务的状态,当状态为active (running) 时说明mysql服务正常启动了。

[root@Linux ~]# systemctl status
mysqldmysqld.service - MySQL Server
Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
Active: active (running) since Mon 2021-05-17 22:26:33 EDT; 16s ago
Docs: man:mysqld(8)
http://dev.mysql.com/doc/refman/en/using-systemd.html
Process: 17957 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS) Main PID: 18031 (mysqld)
Status: "Server is operational"
CGroup: /system.slice/mysqld.service
└─18031 /usr/sbin/mysqld May 17 22:26:28 Linux systemd[1]: Starting MySQL Server...
May 17 22:26:33 Linux systemd[1]: Started MySQL Server.

设置mysql服务开机时自动启动

systemctl enable mysqld

5、配置数据库

5.1 获取MySQL数据库root用户的初始密码

root用户的初始密码保存在/var/log/mysqld.log日志文件中(请保存好此密码,登录MySQL时需要使用),root用户的初始密码为:xs7,s>:UsfCH

[root@Linux ~]# grep 'temporary password' /var/log/mysqld.log2021-05-18T02:26:30.173361Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: xs7,s>:UsfCH

5.2更改root密码

使用mysql -uroot -p命令连接数据库

[root@Linux ~]# mysql -uroot -pEnter password:    #输入初始密码
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.23
Copyright (c) 2000, 2021, Oracle and/or its affiliates.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>

更改root密码,建议密码由大小写字母、数字和特殊符号组成16位或以上,将Your@pass2021替换为您的数据库密码,命令如下:

mysql> ALTER USER root@'localhost' IDENTIFIED BY ' Your@pass2021';
Query OK, 0 rows affected (0.01 sec)

5.3 创建名称为“wordpress”的数据库,供WordPress程序连接使用

mysql> CREATE DATABASE wordpress;Query OK, 1 row affected (0.01 sec)

查看wordpress数据库是否创建成功

mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
| wordpress |
+--------------------+
5 rows in set (0.00 sec)

5.4 创建数据库用户

创建名称为wordpress(用户名称可自定义)的数据库用户,wordpress程序连接Mysql数据库时使用wordpress这个用户。

mysql> CREATE USER wordpress@'localhost' IDENTIFIED BY 'Your@pass2021';
Query OK, 0 rows affected (0.01 sec)

授权wordpress用户对wordpress数据库具有所有的操作权限

mysql> GRANT ALL privileges ON wordpress.* TO wordpress@'localhost';
Query OK, 0 rows affected (0.01 sec)

设置wordpress用户的密码永不过期

mysql> ALTER USER 'wordpress'@'localhost' PASSWORD EXPIRE NEVER;
Query OK, 0 rows affected (0.01 sec)

刷新权限

mysql> flush privileges;Query OK, 0 rows affected (0.00 sec)

退出MySQL

mysql> exit
Bye
[root@Linux ~]#

步骤二:安装与配置Nginx

CentOS默认没有安装Nginx的软件仓库,需要安装Nginx软件仓库才能使用Yum安装Nginx。Nginx默认的安装路径为:/usr/share/nginx/html,配置文件的默认路径为:/etc/nginx

1、安装Nginx软件仓库

rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm

2、安装Nginx1.18

yum -y install nginx-1.18.0-2.el7.ngx

3、启动Nginx

systemctl start nginx

查看Nginx运行状态

[root@Linux ~]# systemctl status nginx
● nginx.service - nginx - high performance web server
Loaded: loaded (/usr/lib/systemd/system/nginx.service; disabled; vendor preset: disabled) Active: active (running) since Mon 2021-05-17 23:00:43 EDT; 12s ago
Docs: http://nginx.org/en/docs/
Process: 18176 ExecStart=/usr/sbin/nginx -c /etc/nginx/nginx.conf (code=exited, status=0/SUCCESS)
Main PID: 18177 (nginx)
CGroup: /system.slice/nginx.service
├─18177 nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf └─18178 nginx: worker process May 17 23:00:43 Linux systemd[1]: Starting nginx - high performance web server...
May 17 23:00:43 Linux systemd[1]: Started nginx - high performance web server.

设置Nginx开机自动启动

[root@Linux ~]# systemctl enable nginx
Created symlink from /etc/systemd/system/multi-user.target.wants/nginx.service to /usr/lib/systemd/system/nginx.service.

4、验证Nginx是否安装成功

验证前需要Linux防火墙放行80端口,如果服务器是华为云ECS阿里云ECS,在安全组内添加规则放行80端口或者http协议即可。

Linux防火墙放行80端口

firewall-cmd --add-port=80/tcp --zone=public --permanent

重新加载防火墙规则

firewall-cmd --reload

在浏览器地址栏输入Linux服务器的IP地址,看到 Welcome to ningx! 说明Nginx安装成功。

步骤三:安装与配置PHP

CentOS默认的软件仓库中没有PHP安装包,需要添加EPEL软件仓库和remi软件仓库后才能安装PHP及PHP的相关扩展程序。

1、安装软件仓库

安装EPEL软件仓库

yum -y install epel-release

安装REMI软件仓库

yum -y install http://rpms.remirepo.net/enterprise/remi-release-7.rpm

2、安装PHP及相关扩展模块

yum -y install php74-php php74-php-common php74-php-fpm php74-php-mysqlnd php74-php-pdo php74-php-cli php74-php-json php74-php-mbstring php74-php-sodium php74-php-pecl-imagick php74-php-xml php74-php-gd php74-php-pecl-mcrypt php74-php-pecl-zip

3、验证是否成功安装

查看PHP版本信息

[root@Linux ~]# php74 -v
PHP 7.4.19 (cli) (built: May 4 2021 11:06:37) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies

启动PHP

systemctl start php74-php-fpm

查看PHP的运行状态,ACTIVE状态为 active(running)说明PHP启动成功

[root@Linux ~]# systemctl status php74-php-fpm
● php74-php-fpm.service - The PHP FastCGI Process Manager
Loaded: loaded (/usr/lib/systemd/system/php74-php-fpm.service; disabled; vendor preset: disabled)
Active: active (running) since Tue 2021-05-18 00:00:31 EDT; 10s ago
Main PID: 18587 (php-fpm)
Status: "Processes active: 0, idle: 5, Requests: 0, slow: 0, Traffic: 0req/sec"
CGroup: /system.slice/php74-php-fpm.service
├─18587 php-fpm: master process (/etc/opt/remi/php74/php-fpm.conf)
├─18588 php-fpm: pool www
├─18589 php-fpm: pool www
├─18590 php-fpm: pool www
├─18591 php-fpm: pool www
└─18592 php-fpm: pool www May 18 00:00:31 Linux systemd[1]: Starting The PHP FastCGI Process Manager...May 18 00:00:31
Linux systemd[1]: Started The PHP FastCGI Process Manager.

设置PHP开机时自动启动

systemctl enable php74-php-fpm

4、配置PHP

4.1 修改PHP的配置文件“www.conf”

cd /etc/opt/remi/php74/php-fpm.d/		#进入PHP配置目录
cp -p www.conf www.conf.bak #备份配置文件
vim /etc/opt/remi/php74/php-fpm.d/www.conf #编辑配置文件www.conf

开启vim显示行号的功能,在非编辑状态输入 :set number 回车,输入:24 回车

第24行user = apache 修改为user = nginx,26行的group = apache修改为group = nginx ,修改后保存退出。

注意:如果www.conf配置文件的user与group参数不修改为nginx的话,在WordPress发布文章的时候因为权限问题可能导致无法上传图片,出现“无法将上传的文件移动至wp-content/uploads”的错误提示。

4.2 重启PHP

systemctl restart php74-php-fpm

查看PHP的运行状态,确认运行正常

systemctl status php74-php-fpm

步骤四:安装WordPress前的准备

1、下载wordpress

新建software与wordpress目录

mkdir /opt/softwaremkdir -p /usr/data/wordpresscd /opt/software		#进入software目录

下载wordpress5.7到 /opt/software目录

wget -O wordpress5.7.tar.gz https://cn.wordpress.org/wordpress-5.7-zh_CN.tar.gz

解压缩wordpress安装包

tar -zxvf wordpress5.7.tar.gz

将解压后的wordpress目录下的所有子目录和文件都复制到 /usr/data/ wordpress/目录下

cp -R /opt/software/wordpress/*  /usr/data/wordpress/

将/usr/data/wordpress目录及子目录下的所有文件的“拥有者”和“拥有者组”修改为nginx,命令如下:

chown -R nginx:nginx /usr/data/wordpress

将/usr/data/wordpress目录及所有子目录的权限设置为755, wordpress目录下的所有文件的权限统一设置为644,命令如下:

find /usr/data/wordpress -type d -exec chmod 755 {} \;
find /usr/data/wordpress -type f -exec chmod 644 {} \;

2、配置Nginx

编辑Nginx的配置文件

vim /etc/nginx/conf.d/default.conf

default.conf的默认配置如下:

server {

    listen       80;
server_name localhost; #charset koi8-r;
#access_log /var/log/nginx/host.access.log main; location / {
root /usr/share/nginx/html;
index index.html index.htm;
} #error_page 404 /404.html; # redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
} # proxy the PHP scripts to Apache listening on 127.0.0.1:80
#
#location ~ \.php$ {
# proxy_pass http://127.0.0.1;
#} # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
#location ~ \.php$ {
# root html;
# fastcgi_pass 127.0.0.1:9000;
# fastcgi_index index.php;
# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
# include fastcgi_params;
#} # deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
#location ~ /\.ht {
# deny all;
#}
}

开启vim显示行号的功能,在非编辑状态输入 :set number 回车(set前面有一个冒号,不要漏掉)。

第9行Nginx的root目录修改为 /usr/data/wordpress 。此目录与wordpress程序所在的目录必须一致,否则无法成功配置wordpress,修改为你自己的wordpress目录。

第10行 添加index.php

删除第30至36行前面的#号注释符

第31行的root目录修改为 /usr/data/wordpress

第34行的/scripts$fastcgi_script_name; 改为 $document_root$fastcgi_script_name;

default.conf修改后的内容如下:

server {
listen 80;
server_name localhost; #charset koi8-r;
#access_log /var/log/nginx/host.access.log main; location / {
root /usr/data/wordpress;
index index.php index.html index.htm;
} #error_page 404 /404.html; # redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
} # proxy the PHP scripts to Apache listening on 127.0.0.1:80
#
#location ~ \.php$ {
# proxy_pass http://127.0.0.1;
#} # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {
root /usr/data/wordpres;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
} # deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
#location ~ /\.ht {
# deny all;
#}
}

检查配置文件的配置是否正确,看到如下输出,代表配置没问题。

[root@Linux 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配置文件

systemctl reload nginx

查看Nginx的运行状态

systemctl status nginx

步骤五:安装WordPress

现在开始安装WordPress,在物理机的浏览器地址栏输入Linux Server的IP地址192.168.1.100 回车,点【现在就开始!】按钮开始安装WordPress。

如下图,填写前面已经创建好的数据库名,用户名以及密码,数据库主机使用默认的localhost,表前缀使用默认wp_ ,点击【提交】。

接下来点击【现在安装】按钮继续安装

根据下图填写网站的基本信息,填好后点击【安装WordPress】进入下一步。

站点标题:站点的名称,给你站点起一个响亮或者令人印象深刻的名字

用户名:这个用户是WordPress的后台管理员账户,具有后台最高管理权限,用户名确认后不可更改。建议用户名不要使用admin、administrator、root等常用的管理员账号名称,因为黑K很喜欢破解这类用户的密码。

密码:默认会生成一个复杂的随机密码,请保管好,初始密码在后台可以更改。建议在这里输入你自己准备好的复杂密码(设置密码16位或以上,由大小写字母,数字与特殊符号组成),密码如果太简单很容易被破解。

电子邮箱:输入电子邮箱地址

对搜索引擎的可见性:建议不要勾选,如果你的网站不想被搜索引擎收录的话可以勾选,就算勾选了也不能保证搜索引擎就一定不收录。

提示WordPress安装成功,点击【登录】 按钮准备登录WordPress。

输入用户名和密码,点击【登录】按钮进入WordPress后台管理系统。

已成功登录WordPress后台管理系统,如下图:

WordPress已经完成初始化安装,目前使用的是默认主题而且网站只有一篇“世界,您好!”的文章,所以看起来很简单,安装一个精美的主题并完善网站的内容后,你期待的网站才会出现。


安装WordPress的更多方法如下:

WordPress安装篇(1):使用PHPStudy安装WordPress

WordPress安装篇(2):用宝塔面板在Windows上安装WordPress

WordPress安装篇(3):用宝塔面板在Linux上安装WordPress

WordPress安装篇(4):YUM方式安装LNMP并部署WordPress

WordPress安装篇(5):源码编译安装LNMP并部署WordPress


本文转自 云引未来-www.useclouds.cn

WordPress安装篇(4):YUM方式安装LNMP并部署WordPress的更多相关文章

  1. WordPress安装篇(5):源码编译安装LNMP并部署WordPress

    与YUM方式安装相比,源码编译安装方式更灵活,安装过程中能自定义功能和参数,特别是在批量部署服务器又要求软件版本及配置一致时,源码编译安装的优势很明显.本文介绍如何通过源码编译方式安装Nginx1.1 ...

  2. LNMP(Linux+Nginx+MySQL+PHP) yum方式安装Redis

    一.环境信息 CentOS Linux release 8.1.1911 (Core) Redis server v=5.0.3 二.yum方式安装 1.添加EPEL仓库 sudo yum insta ...

  3. CentOS7安装Jenkins,使用war方式直接运行或用yum方式安装运行

    jenkins最简单的安装方式呢,就是直接去官网下载jenkins的war包,把war丢到tomcat里运行,直接就能打开了. Jenkins官网:https://jenkins.io/downloa ...

  4. yum install mysql-community-server yum方式安装mysql(社区版实操)

    前言:rpm方式或者这种yum安装时比较简单的方式,但是不推荐,但是确实很着急的话,可以采用这种安装这种方式不利于后续对mysql的管理,如果是多实例或者是复杂的一些架构的话,还是推荐利用源码包编译方 ...

  5. Centos中yum方式安装java

    查看CentOS自带JDK是否已安装.◆输入:yum list installed |grep java. 若有自带安装的JDK,如何卸载CentOS系统自带Java环境?◆卸载JDK相关文件输入:y ...

  6. CentOS7 yum方式安装 MongoDB 3.4 复制集

    CentOS7 yum方式安装 MongoDB 3.4 环境.准备 Centos7 系统 配置MongoDB的yum源,添加文件/etc/yum.repos.d/mongodb-org-3.4.rep ...

  7. CentOS7下yum方式安装mysql5.6

    在Centos7中用MariaDB代替了mysql数据库.所以在新安装MySQL前必须做好对系统的清理工作. 一.清理CentOS7下的MariaDB. [root@localhost ~]#rpm ...

  8. Centos7 yum方式安装MySQL

    1.下载安装源 wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm 2.yum方式安装 yu ...

  9. CentOS7 yum方式 安装mysql 5.7.28步骤

    CentOS7系统yum方式安装MySQL5.7 最新的yum源可以去http://dev.mysql.com/downloads/repo/yum下载 1.获取mysql官方yum reposito ...

随机推荐

  1. Win64 驱动内核编程-34.对抗与枚举MiniFilter

    对抗与枚举MiniFilter MiniFilter 是目前杀毒软件用来实现"文件系统自我保护"和"文件实时监控"的方法. 由于 MiniFilter 模型简单 ...

  2. c/c++ 指针函数 和 函数指针

    指针函数:返回指针类型的函数,定义方法如下: 类型标识符 *函数名(参数列表) 函数指针:指向函数入口地址的指针,定义方法如下: 类型标识符 (*指针名称)(形参列表) 下面我们通过一段代码加深我们的 ...

  3. big data-1

  4. window系统搭建医药后台系统

    软件准备: mysql版本: 5.7 jdk版本:1.8 tomcat版本: 9.0 mysql:5.7 第一步:新建Mysql连接   新建Mysql连接 第二步:新建数据库   新建数据库 第三步 ...

  5. repo sync error: .repo/manifests/: contains uncommitted changes

    andorid 源码库同步,报错如标题,好几次想放弃,尝试了网上不少办法,无效, 最终从 stackoverflow 得到答案: After issued repo sync, I got a err ...

  6. 通过CRM系统实现工作流程自动化

    灵活运用CRM系统所拥有的自动化功能模块,是公司在快速发展和降低成本的关键保障.不管您的公司规模的大小,您企业的工作流程都必须遵照相同的流程反复操作.这种反复的工作是一个效率黑洞,长久以往会导致人力资 ...

  7. PostgreSQL条件表达式

      条件表达式在日常工作中很多场景都会用到,比如某个字段为空,取另外一个字段:某个值大于多少,取什么字段,小于多少取什么字段等等.那么下面来简单的学习下PostgreSQL有那些条件表达式. 1.CA ...

  8. 放弃模拟器,安卓手机WiFi投屏到Ubuntu

    曾经使用过一些安卓的模拟器,但是特别占用资源,而且很多平时使用的非游戏生活类App都有兼容性问题,自然最终无奈而放弃了. 现在将学习环境迁移到了Ubuntu平台,发现各个方面还是不错的,平时使用的各种 ...

  9. [bug] Maven修改pom文件后jdk版本回退

    参考 https://www.cnblogs.com/wxgblogs/p/6696229.html

  10. gdb 调试,当发现程序退出,需要定位程序退出位置时。

    在进入gdb后设置,执行下面语句 handle SIGSEGV nopass handle SIGSEGV nostop 执行程序,触发问题,gdb侧执行c 故障出现时,执行bt,显示堆栈调用.