手动在搬瓦工 CentOS 8 上配置 LNMP/LEMP 建站环境教程

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

安装前准备工作

1、准备一个 CentOS 8 系统

目前搬瓦工可以一键安装 CentOS 8 系统,如果还没有兼容的系统,可以在搬瓦工 KiwiVM 后台重装系统 。

2、连接到搬瓦工 SSH

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

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

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

至此,配置文件创建完成。

配置 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 上完全一样,所以不再赘述。至此,在 CentOS 8 上面安装 LNMP/LEMP 建站环境就全部完成,并且也进行了测试,应该是没问题的。

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

搬瓦工优惠/性价比套餐推荐

温馨提醒 如果您有选择困难症,直接选中间的 CN2 GIA-E方案,季付 $49.99,多达 12 个机房任意切换

搬瓦工优惠码:BWH3HYATVBJW,优惠6.58%,全场可用。下面表格整理了更多的搬瓦工优惠套餐。

方案 内存 CPU 硬盘 流量/月 带宽 机房 价格 购买
CN2
(最便宜)
1GB 1核 20GB 1TB 1Gbps DC3 CN2
DC8 ZNET
$49.99/年 购买
CN2 2GB 1核 40GB 2TB 1Gbps $52.99/半年
$99.99/年
购买
CN2 GIA-E
(最推荐)
1GB 2核 20GB 1TB 2.5Gbps DC6 CN2 GIA-E
DC9 CN2 GIA
日本软银 JPOS_1
联通荷兰 EUNL_9
$49.99/季度
$169.99/年
购买
CN2 GIA-E 2GB 3核 40GB 2TB 2.5Gbps $89.99/季度
$299.99/年
购买
HK 2GB 2核 40GB 0.5TB 1Gbps 香港 CN2 GIA $89.99/月
$899.99/年
购买
HK 4GB 4核 80GB 1TB 1Gbps $155.99/月
$1559.99/年
购买

选择建议:

  • 入门:洛杉矶 CN2 套餐,目前最便宜,可选 CN2 GT 机房,入门之选。
  • 推荐:洛杉矶 CN2 GIA-E 套餐,价格适中,速度超快,可选机房多,性价比最高。
  • 高端:香港 CN2 GIA 套餐,价格较高,但是无可挑剔。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注