我们一直在努力

如何手动在 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 系统上安装东西还是比较不同的,但是安装完成之后的操作基本都一样。

bwh81-1-780x384.png" alt="bwh81 1" width="780" height="384" title="如何手动在 CentOS 8 上安装 LNMP/LEMP 建站环境 3" srcset="https://www.52pchome.com/wp-content/uploads/2019/08/bwh81-1-780x384.png 780w, https://www.52pchome.com/wp-content/uploads/2019/08/bwh81-1-768x378.png 768w, https://www.52pchome.com/wp-content/uploads/2019/08/bwh81-1-1536x756.png 1536w, https://www.52pchome.com/wp-content/uploads/2019/08/bwh81-1.png 1903w" sizes="(max-width: 780px) 100vw, 780px" />

那如果我们要选择的话,建议是直接选择CN2 GIA,搬瓦工VPS是比较真的CN2。

方案 内存 CPU 硬盘 流量/月 带宽 机房 价格 购买
CN2 常规方案
CN2
(最便宜)
1GB 1核 20GB 1TB 1Gbps DC3 CN2
DC8 ZNET

DC2 QNET
DC4 MCOM
美国弗里蒙特
美国新泽西
美国纽约
阿姆斯特丹 标签的文章" target="_blank">荷兰阿姆斯特丹
$49.99/年 购买
CN2 2GB 1核 40GB 2TB 1Gbps $52.99/半年
$99.99/年
购买
CN2 4GB 2核 80GB 3TB 1Gbps $59.99/季度
$199.99/年
购买
CN2 8GB 2核 160GB 5TB 1Gbps $39.99/月
$399.99/年
购买
CN2 16GB 3核 320GB 8TB 1Gbps $79.99/月
$799.99/年
购买
CN2 HIBW1 16GB 3核 320GB 12TB 1Gbps $99.99/月
$999.99/年
购买
CN2 HIBW2 16GB 3核 320GB 16TB 1Gbps $129.99/月
$1299.99/年
购买
CN2 GIA ECOMMERCE 方案(DC6 CN2 GIA-E
方案 内存 CPU 硬盘 流量/月 带宽 机房 价格 购买
CN2 GIA-E
(最推荐)
1GB 2核 20GB 1TB 2.5Gbps DC6 CN2 GIA-E
DC9 CN2 GIA
日本软银 JPOS_1
联通荷兰 EUNL_9

DC3 CN2
DC8 ZNET

DC2 QNET
DC4 MCOM
美国弗里蒙特
美国新泽西
美国纽约
荷兰阿姆斯特丹
$49.99/季度
$169.99/年
购买
CN2 GIA-E 2GB 3核 40GB 2TB 2.5Gbps $89.99/季度
$299.99/年
购买
CN2 GIA-E 4GB 4核 80GB 3TB 2.5Gbps $56.99/月
$549.99/年
购买
CN2 GIA-E 8GB 6核 160GB 5TB 5Gbps $86.99/月
$879.99/年
购买
CN2 GIA-E 16GB 8核 320GB 8TB 5Gbps $159.99/月
$1599.99/年
购买
CN2 GIA-E 32GB 10核 640GB 10TB 10Gbps $289.99/月
$2759.99/年
购买
CN2 GIA-E 64GB 12核 1280GB 12TB 10Gbps $549.99/月
$5399.99/年
购买
HONG KONG CN2 GIA 香港方案
方案 内存 CPU 硬盘 流量/月 带宽 机房 价格 购买
HK 2GB 2核 40GB 0.5TB 1Gbps 香港 CN2 gia 标签的文章" target="_blank">香港 cn2 gia $89.99/月
$899.99/年
购买
HK 4GB 4核 80GB 1TB 1Gbps $155.99/月
$1559.99/年
购买
HK 8GB 6核 160GB 2TB 1Gbps $299.99/月
$2999.99/年
购买
HK 16GB 8核 320GB 4TB 1Gbps $589.99/月
$5899.99/年
购买
KVM 常规方案
方案 内存 CPU 硬盘 流量/月 带宽 机房 价格 购买
KVM 1GB 2核 20GB 1TB 1Gbps DC3 CN2
DC8 ZNET

DC2 QNET
DC4 MCOM
美国弗里蒙特
美国新泽西
美国纽约
荷兰阿姆斯特丹
(DC3 机房流量为 1/3)
$49.99/年 购买
KVM 2GB 3核 40GB 2TB 1Gbps $52.99/半年
$99.99/年
购买
KVM 4GB 4核 80GB 3TB 1Gbps $19.99/月
$199.99/年
购买
KVM 8GB 5核 160GB 4TB 1Gbps $39.99/月
$399.99/年
购买
KVM 16GB 6核 320GB 5TB 1Gbps $79.99/月
$799.99/年
购买
KVM 24GB 7核 480GB 6TB 1Gbps $119.99/月
$1199.99/年
购买
博客声明与版权说明
重要声明
内容性质说明
本博客专注于记录博主个人对服务器产品的测评体验与相关优惠资讯,不从事任何主机、服务器租赁业务,不参与任何交易,亦非中介机构。博客所载信息均来源于网络公开渠道或服务商主动提供,仅供个人记录与交流之用。
免责声明
本博客对所刊载内容不作任何明示或默示的保证(包括但不限于准确性、完整性、时效性),内容不构成任何购买、使用建议或引导。访问者请自行甄别信息,独立作出判断并承担相应风险。
合规使用要求
访问本博客请严格遵守中华人民共和国及所在地区有关互联网的各项法律法规。严禁利用本博客提及的任何内容从事违法违规活动,由此产生的一切法律责任与后果由行为人自行承担。
访问资格
未成年人及不具备独立承担法律责任能力的个人或群体请勿访问本博客。
协议生效
您一旦访问本博客,即视为您已充分阅读、理解并同意接受本声明的全部条款。
版权声明
本站原创内容采用 知识共享 署名 - 非商业性使用 - 相同方式共享 4.0 国际许可协议(CC BY-NC-SA 4.0) 进行授权。
转载、引用请注明原文出处与作者信息。
文章名称:《如何手动在 CentOS 8 上安装 LNMP/LEMP 建站环境》
文章链接:https://www.52pchome.com/10294.html
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。