使用lnmp构建部署动态网站环境

作者:燕尾十三 | 发布时间:

  • 一、前言

建网站,想必大家应该不陌生了吧。市面上有很多所谓的面板都可以一键式的搭建属于自己的网站。但是,对于爱折腾的小伙伴相比好奇网站该如何一步步搭建出来的。这篇博客教大家搭建最基本的部署环境lnmp,那lnmp到底是啥吗?其实就是四个代名词的首字母:Linux、Nginx、mysql、PHP,那么问题来了他们哥几个到底有啥用呢?(细心帅气的版主已经提你们百度了)

Linux是一类Unix计算机操作系统的统称,是目前最流行的免费操作系统。代表版本有:debiancentosubuntufedoragentoo等。
Nginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器。
Mysql是一个小型关系型数据库管理系统
PHP是一种在服务器端执行的嵌入HTML文档的脚本语言
这四种软件均为免费开源软件,组合到一起,成为一个免费、高效、扩展性强的网站服务系统。

废话不多说直接上正文。这里搭建和一般傻瓜式建站不太一样,操作可能容易出错,出现的问题可以自行百度,这对于想学Linux的同学是个很好的体验机会。(默认大家已经装好Linux)

二、安装PHP

1.安装软件仓库

安装EPEL软件仓库

yum -y install epel-release

1.png

安装REMI软件仓库

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

2.png

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

验证是否成功安装

查看PHP版本信息

php74 -v

4.png

启动PHP

systemctl start php74-php-fpm

5.png

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

systemctl status php74-php-fpm

6.png

设置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

7.png

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

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

8.png

重启PHP

systemctl restart php74-php-fpm

9.png

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

a.png

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

b.png

安装MySQL

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

c.png

启动MySQL服务

启动MySQL服务

systemctl start mysqld

d.png

检查MySQL服务的状态

systemctl status

e.png

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

f.png

配置数据库

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

Cat /var/log/mysqld.log

g.png

更改root密码

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

z.png

更改root密码,建议密码由大小写字母、数字和特殊符号组成16位或以上

ALTER USER root@'localhost' IDENTIFIED BY ' Hby@pass2021';

y.png

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

CREATE DATABASE wordpress;Query OK, 1 row affected

u.png

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

show databases;

1.png

创建数据库用户

CREATE USER wordpress@'localhost' IDENTIFIED BY 'Hby@pass2021';

2.png

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

GRANT ALL privileges ON wordpress.* TO wordpress@'localhost';

3.png

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

ALTER USER 'wordpress'@'localhost' PASSWORD EXPIRE NEVER;

4.png

刷新权限

flush privileges;

5.png

退出MySQL

exit

6.png

安装nginx

1、安装Nginx软件仓库

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

7.png

2、安装Nginx1.18

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

8.png

3、启动Nginx

systemctl start nginx

9.png

查看Nginx运行状态

systemctl status nginx

a.png

设置Nginx开机自动启动

systemctl enable nginx

1.png

验证Nginx是否安装成功

Linux防火墙放行80端口

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

重新加载防火墙规则

firewall-cmd --reload

2.png

7458f244ad82

 

 

LNMP环境下部署搭建wordpress

1、下载wordpress
新建software与wordpresscd目录

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

1.png

 

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

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

2.png

 

由于简化版没有wget命令要提前用yum安装     yum -y install wget

解压缩wordpress安装包

tar -zxvf wordpress5.7.tar.gz

3.png

 

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

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

4.png

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

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

5.png

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

find /usr/data/wordpresscd -type d -exec chmod 755 {} \;

find /usr/data/wordpresscd -type f -exec chmod 644 {} \;

6.png

2、配置Nginx
编辑Nginx的配置文件

vi /etc/nginx/conf.d/default.conf

7.png

8.png

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

9.png

重新加载Nginx配置文件

systemctl reload nginx

0.png

查看Nginx的运行状态

systemctl status nginx

a.png

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

53329851f203

 

四、结语

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

标签:工具分享