如何手动在 CentOS 8 上安装 LNMP/LEMP 建站环境

LNMP 或者 LEMP 也就是我们常说的 Linux + NGINX + MySQL/MariaDB + PHP 的建站环境组合,是非常流行的一种建站环境,因为目前基本上很多网站都是基于 PHP 的。至于说为什么也称作 LEMP,是因为老外发音的时候 NGINX 一般读作 engine-x,首字母是 E,所以这么简写。之前介绍过在 Ubuntu 系统上怎么手动安装 LNMP 建站环境,今天再介绍一下怎么在 CentOS 系统上进行安装。

相关文章:《如何手动在 Ubuntu 18.04 上安装 LNMP/LEMP 建站环境

一、安装前准备工作

1、准备一个 CentOS 8 系统

目前搬瓦工可以一键安装 CentOS 8 系统,如果还没有兼容的系统,可以参考《搬瓦工 KiwiVM 后台重装系统 Install new OS 和 Mount ISO 的区别》进行重装系统。

2、连接到搬瓦工 SSH

其次我们需要通过 SSH 连接到搬瓦工 VPS,然后才能进行一系列操作。

参考:《搬瓦工 Bandwagonhost 基础教程 – 新手拿到 VPS 后如何登录 SSH 教程》。

3、更新系统

sudo dnf update

二、安装 NGINX 教程

1、安装 NGINX

sudo dnf install nginx

2、启用并启动 NGINX 服务

sudo systemctl enable nginx 
sudo systemctl start nginx

三、安装 MariaDB 教程

MariaDB 就是开源版的 MySQL 数据库了,安装也比较简单。

1、安装 MariaDB 服务器和 MySQL/MariaDB-PHP 支持

sudo dnf install mariadb-server php-mysqlnd

2、设置 MariaDB 开机启动,并开启服务

sudo systemctl enable mariadb.service 
sudo systemctl start mariadb.service

3、登录到 MariaDB shell

mysql -u root

4、创建一个有正确权限的测试数据库和用户,下面的 testdbtestuserpassword 请替换成你的数据库名、用户名、密码。

CREATE DATABASE testdb;
CREATE USER 'testuser' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON testdb.* TO 'testuser';

5、退出 SQL shell

quit

6、配置额外安全选项

sudo mysql_secure_installation

这个可以参考《如何手动在 Ubuntu 18.04 上安装 LNMP/LEMP 建站环境》这篇文章的《安装 MariaDB》这一部分进行配置。

四、安装 PHP 教程

1、安装 PHP FastCGI,包含了核心 PHP 依赖

sudo dnf install php-fpm

2、启用并启动 php-fpm.service

sudo systemctl enable php-fpm.service 
sudo systemctl start php-fpm.service

3、修改  /etc/php-fpm.d/www.conf 中的默认 user 用户,从 apache 改为 nginx

…
; RPM: apache user chosen to provide access to the same directories as httpd
user = nginx
; RPM: Keep a group allowed to write in log dir.
group = nginx
…

4、设置 PHP 只接受服务器上实际存在的文件的 URI,提高安全性。

sudo sed -i 's/;cgi.fix_pathinfo=1/cgi.fix_pathinfo=0/g' /etc/php.ini

五、设置 NGINX 站点配置文件

至此所有需要安装的内容都已经完成安装,包括 NGINX、MariaDB 数据库、PHP 都已经装好了,接下来需要设置一下 NGINX 站点配置文件。

1、创建一个网站内容的根目录,下面的 example.com 请进行替换。

sudo mkdir -p /var/www/html/example.com/public_html

2、授予权限

sudo chown -R $USER:$USER /var/www/html/example.com/public_html

3、使用 SELinux 的 chcon 命令修改文件安全内容

sudo chcon -t httpd_sys_content_t /var/www/html/example.com -R
sudo chcon -t httpd_sys_rw_content_t /var/www/html/example.com -R

4、修改位于 NGINX 根目录的 /etc/nginx/nginx.conf 配置文件

server {
    listen       80;
    listen       [::]:80;
    server_name  _;
    root         /var/www/html/example.com/public_html;

    # Load configuration files for the default server block.
    include /etc/nginx/default.d/*.conf;

    location / {
    }

    error_page 404 /404.html;
        location = /40x.html {
    }

    error_page 500 502 503 504 /50x.html;
        location = /50x.html {
    }

5、在 etc/nginx/conf.d 目录下创建一个 example.com.conf 文件

(再次提醒,本文涉及的所有 example.com 都请自行替换成你的域名)

    server {
    listen         80;
    listen         [::]:80;
    server_name    example.com www.example.com;
    root           /var/www/html/example.com/public_html;
    index          index.html;

    location / {
      try_files $uri $uri/ =404;
    }
    location ~* \.php$ {
      fastcgi_pass unix:/run/php-fpm/www.sock;
      include         fastcgi_params;
      fastcgi_param   SCRIPT_FILENAME    $document_root$fastcgi_script_name;
      fastcgi_param   SCRIPT_NAME        $fastcgi_script_name;
    }
}

至此,配置文件创建完成。部分参数说明可以参考《NGINX 配置文件》。

六、配置 FirewallD 防火墙

CentOS 8 Linodes 启用了 FirewallD,但 HTTP 和 HTTPS 不包含在默认服务集中。

1、查看默认服务集

sudo firewall-cmd --zone=public --list-services

2、允许 NGINX 的连接,需要添加 HTTP 和 HTTPS 作为服务

sudo firewall-cmd --zone=public --add-service=http --permanent
 sudo firewall-cmd --zone=public --add-service=https --permanent
 sudo firewall-cmd --reload

七、测试 LNMP 建站环境

1、确保域名解析正确,可以查看一下 DNS 记录或者 ping 一下看看是否返回正确 IP 地址。

2、重启 PHP,重载 NGINX 配置

sudo systemctl restart php-fpm
sudo nginx -s reload

3、测试 NGINX 配置

sudo nginx -t

4、创建测试文件进行测试

接下来的这几个步骤因为和在 Ubuntu 上完全一样,所以不再赘述,可以参考《测试 LNMP 安装是否成功》中的对应步骤。

至此,在 CentOS 8 上面安装 LNMP/LEMP 建站环境就全部完成,并且也进行了测试,应该是没问题的。

其实在 CentOS 8 和在 Ubuntu 系统上安装东西还是比较不同的,但是安装完成之后的操作基本都一样。

八、搬瓦工新手教程和优惠套餐

搬瓦工推荐方案

搬瓦工实时库存:https://stock.bwg.net

温馨提醒 如果您有选择困难症,直接选中间的 CN2 GIA-E方案,季付 $49.99,多达 12 个机房任意切换
方案内存CPU硬盘流量/月带宽机房价格购买
CN2
(最便宜)
1GB1核20GB1TB1GbpsDC3 CN2
DC8 ZNET
$49.99/年购买
CN22GB1核40GB2TB1Gbps$52.99/半年
$99.99/年
购买
CN2 GIA-E
(最推荐)
1GB2核20GB1TB2.5GbpsDC6 CN2 GIA-E
DC9 CN2 GIA
日本软银 JPOS_1
荷兰 EUNL_9 暂时下架
$49.99/季度
$169.99/年
购买
CN2 GIA-E2GB3核40GB2TB2.5Gbps$89.99/季度
$299.99/年
购买
HK2GB2核40GB0.5TB1Gbps中国香港 CN2 GIA$89.99/月
$899.99/年
购买
HK4GB4核80GB1TB1Gbps$155.99/月
$1559.99/年
购买
TOKYO2GB2核40GB0.5TB1.2Gbps日本东京 CN2 GIA$89.99/月
$899.99/年
购买
TOKYO4GB4核80GB1TB1.2Gbps$155.99/月
$1559.99/年
购买
搬瓦工优惠码:BWH3HYATVBJW搬瓦工购买教程:《2021 年最新搬瓦工购买教程和支付宝支付教程

选择建议:

  • 入门:洛杉矶 CN2 套餐,目前最便宜,可选 CN2 GT 机房,入门之选。
  • 推荐:洛杉矶 CN2 GIA-E 套餐,速度超快,可选机房多(DC6、DC9、日本软银、荷兰联通等),性价比最高。
  • 高端:香港 CN2 GIA 套餐,价格较高,但是无可挑剔。

搬瓦工新手教程

  1. 搬瓦工新手入门:《搬瓦工新手入门完全指南:方案推荐、机房选择、优惠码和购买教程(推荐阅读)
  2. 搬瓦工购买教程:《2021 年最新搬瓦工购买教程和支付宝支付教程
  3. 搬瓦工优惠码:BWH3HYATVBJW
  4. 搬瓦工补货通知:《欢迎订阅搬瓦工补货通知(补货提醒)/ 加入搬瓦工交流群
  5. 搬瓦工方案推荐:《搬瓦工高性价比 VPS 推荐:目前哪款方案最值得买?

未经允许不得转载:Bandwagonhost中文网 » 如何手动在 CentOS 8 上安装 LNMP/LEMP 建站环境