使用lnmp构建部署动态网站环境
作者:燕尾十三 | 发布时间:
- 一、前言
建网站,想必大家应该不陌生了吧。市面上有很多所谓的面板都可以一键式的搭建属于自己的网站。但是,对于爱折腾的小伙伴相比好奇网站该如何一步步搭建出来的。这篇博客教大家搭建最基本的部署环境lnmp,那lnmp到底是啥吗?其实就是四个代名词的首字母:Linux、Nginx、mysql、PHP,那么问题来了他们哥几个到底有啥用呢?(细心帅气的版主已经提你们百度了)
废话不多说直接上正文。这里搭建和一般傻瓜式建站不太一样,操作可能容易出错,出现的问题可以自行百度,这对于想学Linux的同学是个很好的体验机会。(默认大家已经装好Linux)
二、安装PHP
1.安装软件仓库
安装EPEL软件仓库
yum -y install epel-release

安装REMI软件仓库
yum -y install http://rpms.remirepo.net/enterprise/remi-release-7.rpm

安装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

验证是否成功安装
查看PHP版本信息
php74 -v

启动PHP
systemctl start php74-php-fpm

查看PHP的运行状态,ACTIVE状态为 active(running)说明PHP启动成功
systemctl status php74-php-fpm

设置PHP开机时自动启动
systemctl enable php74-php-fpm
配置PHP
修改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”的错误提示。

重启PHP
systemctl restart php74-php-fpm

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

三:安装mysql
卸载MySQL和MariaDB
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
添加MySQL的Yum软件仓库
yum -y install https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm

安装MySQL
yum -y install mysql-community-server-8.0.23-1.el7

启动MySQL服务
启动MySQL服务
systemctl start mysqld

检查MySQL服务的状态
systemctl status

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

配置数据库
获取MySQL数据库root用户的初始密码
Cat /var/log/mysqld.log

更改root密码
使用mysql -uroot -p命令连接数据库

更改root密码,建议密码由大小写字母、数字和特殊符号组成16位或以上
ALTER USER root@'localhost' IDENTIFIED BY ' Hby@pass2021';

创建名称为“wordpress”的数据库,供WordPress程序连接使用
CREATE DATABASE wordpress;Query OK, 1 row affected

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

创建数据库用户
CREATE USER wordpress@'localhost' IDENTIFIED BY 'Hby@pass2021';

授权wordpress用户对wordpress数据库具有所有的操作权限
GRANT ALL privileges ON wordpress.* TO wordpress@'localhost';

设置wordpress用户的密码永不过期
ALTER USER 'wordpress'@'localhost' PASSWORD EXPIRE NEVER;

刷新权限
flush privileges;

退出MySQL
exit

安装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运行状态
systemctl status nginx

设置Nginx开机自动启动
systemctl enable nginx

验证Nginx是否安装成功
Linux防火墙放行80端口
firewall-cmd --add-port=80/tcp --zone=public –permanent
重新加载防火墙规则
firewall-cmd --reload


LNMP环境下部署搭建wordpress
1、下载wordpress
新建software与wordpresscd目录
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

由于简化版没有wget命令要提前用yum安装 yum -y install wget
解压缩wordpress安装包
tar -zxvf wordpress5.7.tar.gz

将解压后的wordpresscd目录下的所有子目录和文件都复制到 /usr/data/ wordpresscd/目录下
cp -R /opt/software/wordpress/* /usr/data/wordpresscd/

将/usr/data/wordpresscd目录及子目录下的所有文件的“拥有者”和“拥有者组”修改为nginx
chown -R nginx:nginx /usr/data/wordpresscd

将/usr/data/wordpresscd目录及所有子目录的权限设置为755, wordpresscd目录下的所有文件的权限统一设置为644
find /usr/data/wordpresscd -type d -exec chmod 755 {} \;
find /usr/data/wordpresscd -type f -exec chmod 644 {} \;

2、配置Nginx
编辑Nginx的配置文件
vi /etc/nginx/conf.d/default.conf


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

重新加载Nginx配置文件
systemctl reload nginx

查看Nginx的运行状态
systemctl status nginx

登录你的网站默认80端口开始配置

四、结语
相比当大家搭完之后,会感觉到其实网页服务无非就是在一个服务器上先搭建基础服务然后用这些基础服务编译一下网页代码。如果大家对这个模块感兴趣可以参加一下投票,后面再分享一些更有意思的折腾,比如个人群晖(黑)、在windows电脑上搭建苹果系统、安卓搞机的各种资源。