LNMP 环境


目录:

手动搭建 LNMP 环境(CentOS 7)

操作场景

LNMP 环境是指在 Linux 系统下,由 Nginx + MySQL/MariaDB + PHP 组成的网站服务器架构。

本文搭建的 LNMP 环境软件组成版本及说明如下:

  • Linux:Linux 操作系统 以CentOS 7.9 为例。
  • Nginx:Web 服务器 以Nginx 1.17.7 为例。
  • MariaDB:数据库 以 MariaDB 10.4.8 为例。
  • PHP:脚本语言 以 PHP 7.2.22 为例。

关闭防火墙和SElinux

systemctl stop firewalld
systemctl disable firewalld

vi /etc/selinux/config
SELINUX=disabled

reboot

安装 Nginx

1.执行以下命令,在 /etc/yum.repos.d/ 下创建 nginx.repo 文件。

vim /etc/yum.repos.d/nginx.repo

2.按 i 切换至编辑模式,写入以下内容。

[nginx] 
name = nginx repo 
baseurl = https://nginx.org/packages/mainline/centos/7/$basearch/ 
gpgcheck = 0 
enabled = 1

3.按 Esc,输入 :wq,保存文件并返回。

4.执行以下命令,安装 nginx。

yum install -y nginx

5.执行以下命令,打开 default.conf 文件。

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

6.按 i 切换至编辑模式,编辑 default.conf 文件。

7.找到 server{...},并将 server 大括号中相应的配置信息替换为如下内容。用于取消对 IPv6 地址的监听,同时配置 Nginx,实现与 PHP 的联动。

server {
 listen       80;
 root   /usr/share/nginx/html;
 server_name  localhost;
 #charset koi8-r;
 #access_log  /var/log/nginx/log/host.access.log  main;
 #
 location / {
       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;
 }
 #pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
 #
 location ~ .php$ {
   fastcgi_pass   127.0.0.1:9000;
   fastcgi_index  index.php;
   fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
   include        fastcgi_params;
 }
}

8.按 Esc,输入 :wq,保存文件并返回。

9.执行以下命令启动 Nginx。

systemctl start nginx

10.执行以下命令,设置 Nginx 为开机自启动。

systemctl enable nginx

11.在本地浏览器中访问以下地址,查看 Nginx 服务是否正常运行。

http://IP

显示如下,则说明 Nginx 安装配置成功。

img

安装数据库

1.执行以下命令,查看系统中是否已安装 MariaDB。

rpm -qa | grep -i mariadb

返回结果类似如下内容,则表示已存在 MariaDB。

img

为避免安装版本不同造成冲突,请执行以下命令移除已安装的 MariaDB。

yum -y remove mariadb

若返回结果为空,则说明未预先安装,则执行下一步。

2.执行以下命令,在 /etc/yum.repos.d/ 下创建 MariaDB.repo 文件。

vim /etc/yum.repos.d/MariaDB.repo

3.按 i 切换至编辑模式,写入以下内容,添加 MariaDB 软件库。

# MariaDB 10.4 CentOS repository list - created 2019-11-05 11:56 UTC
# http://downloads.mariadb.org/mariadb/repositories/
[mariadb]
name = MariaDB
baseurl = https://mirrors.cloud.tencent.com/mariadb/yum/10.4/centos7-amd64
gpgkey=https://mirrors.cloud.tencent.com/mariadb/yum/RPM-GPG-KEY-MariaDB
gpgcheck=1

4.按 Esc,输入 :wq,保存文件并返回。

5.执行以下命令,安装 MariaDB。此步骤耗时较长,请关注安装进度,等待安装完毕。

yum -y install MariaDB-client MariaDB-server

6.执行以下命令,启动 MariaDB 服务。

systemctl start mariadb

7.执行以下命令,设置 MariaDB 为开机自启动。

systemctl enable mariadb

8.执行以下命令,验证 MariaDB 是否安装成功。

mysql

显示结果如下,则成功安装。

img

9.执行以下命令,退出 MariaDB。

\q

安装配置 PHP

1.依次执行以下命令,更新 yum 中 PHP 的软件源。

rpm -Uvh https://mirrors.cloud.tencent.com/epel/epel-release-latest-7.noarch.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

2.执行以下命令,安装 PHP 7.2 所需要的包。

yum -y install mod_php72w.x86_64 php72w-cli.x86_64 php72w-common.x86_64 php72w-mysqlnd php72w-fpm.x86_64

3.执行以下命令,启动 PHP-FPM 服务。

systemctl start php-fpm

4.执行以下命令,设置 PHP-FPM 服务为开机自启动。

systemctl enable php-fpm

验证环境配置

当您完成环境配置后,可以通过以下验证 LNMP 环境是否搭建成功。

1.执行以下命令,创建测试文件。

echo "<?php phpinfo(); ?>" >> /usr/share/nginx/html/index.php

2.执行以下命令,重启 Nginx 服务。

systemctl restart nginx

3.在本地浏览器中访问如下地址,查看环境配置是否成功。

http://IP/index.php

显示结果如下,则说明环境配置成功。

img

手动搭建 WordPress 个人站点(Linux)

操作场景

WordPress 是一款使用 PHP 语言开发的博客平台,您可使用通过 WordPress 搭建属于个人的博客平台。

1.执行以下命令,进入 MariaDB。

mysql

2.执行以下命令,创建 MariaDB 数据库。例如 “wordpress”。

CREATE DATABASE wordpress;

3.执行以下命令,创建一个新用户。例如 “user”,登录密码为 123456

CREATE USER 'user'@'localhost' IDENTIFIED BY '123456';

4.执行以下命令,赋予用户对 “wordpress” 数据库的全部权限。

GRANT ALL PRIVILEGES ON wordpress.* TO 'user'@'localhost';

5.执行以下命令,设置 root 账户密码。

说明

MariaDB 10.4 在 CentOS 系统上已增加了 root 账户免密登录功能,请执行以下步骤设置您的 root 账户密码并牢记。

ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
FLUSH PRIVILEGES;

6.执行以下命令,使所有配置生效。

FLUSH PRIVILEGES;

7.执行以下命令,退出 MariaDB。

\q

下载 WordPress

说明

WordPress 可从 WordPress 官方网站下载 WordPress 最新中文版本并安装,本教程采用 WordPress 中文版本。

1.执行以下命令,删除网站根目录下用于测试 PHP-Nginx 配置的index.php文件。

rm -rf /usr/share/nginx/html/index.php

2.依次执行以下命令,进入/usr/share/nginx/html/目录,并下载与解压 WordPress。

cd /usr/share/nginx/html
wget https://cn.wordpress.org/wordpress-5.0.4-zh_CN.tar.gz
tar zxvf wordpress-5.0.4-zh_CN.tar.gz

修改 WordPress 配置文件

1.依次执行以下命令,进入 WordPress 安装目录,将wp-config-sample.php文件复制到wp-config.php文件中,并将原先的示例配置文件保留作为备份。

cd /usr/share/nginx/html/wordpress
cp wp-config-sample.php wp-config.php

2.执行以下命令,打开并编辑新创建的配置文件。

vim wp-config.php

3.按 i 切换至编辑模式,找到文件中 MySQL 的部分,并将相关配置信息修改为配置 WordPress数据库 中的内容。

 // ** MySQL settings - You can get this info from your web host ** // /** The name of the database for WordPress */ define('DB_NAME', 'wordpress');
 /** MySQL database username */ define('DB_USER', 'user');
 /** MySQL database password */ define('DB_PASSWORD', '123456');
 /** MySQL hostname */ define('DB_HOST', 'localhost');

4.修改完成后,按 Esc,输入 :wq,保存文件返回。

验证 WordPress 安装

1.在浏览器地址栏输入http://IP/wordpress 文件夹,例如:

http://192.xxx.xxx.xx/wordpress

转至 WordPress 安装页,开始配置 WordPress。

配置WP1

2.根据 WordPress 安装向导提示输入以下安装信息,单击安装 WordPress,完成安装。

所需信息 说明
站点标题 WordPress 网站名称。
用户名 WordPress 管理员名称。出于安全考虑,建议设置一个不同于 admin 的名称。因为与默认用户名称 admin 相比,该名称更难破解。
密码 可以使用默认的密码或者自定义密码。请勿重复使用现有密码,并确保将密码保存在安全的位置。
您的电子邮件 用于接收通知的电子邮件地址。

现在可以登录 WordPress 博客,并开始发布博客文章了。