LNMP 或者 LEMP 也就是我们常说的 Linux + NGINX + MySQL/MariaDB + PHP 的建站环境组合,是非常流行的一种建站环境,因为目前基本上很多网站都是基于 PHP 的。至于说为什么也称作 LEMP,是因为老外发音的时候 NGINX 一般读作 engine-x,首字母是 E,所以这么简写。之前介绍过在 Ubuntu 系统上怎么手动安装 LNMP 建站环境,今天再介绍一下怎么在 CentOS 系统上进行安装。
相关文章:《如何手动在 Ubuntu 18.04 上安装 LNMP/LEMP 建站环境》
文章目录
隐藏
一、安装前准备工作
二、安装 NGINX 教程
三、安装 MariaDB 教程
四、安装 PHP 教程
五、设置 NGINX 站点配置文件
六、配置 FirewallD 防火墙
七、测试 LNMP 建站环境
八、搬瓦工新手教程和优惠套餐
一、安装前准备工作
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、创建一个有正确权限的测试数据库和用户,下面的 testdb
、testuser
、password
请替换成你的数据库名、用户名、密码。
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 (最便宜) |
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 日本东京 CN2 GIA |
$89.99/月 $899.99/年 |
购买 |
HK | 4GB | 4核 | 80GB | 1TB | 1Gbps | $155.99/月 $1559.99/年 |
购买 | |
TOKYO | 2GB | 2核 | 40GB | 0.5TB | 1.2Gbps | 日本东京 CN2 GIA | $89.99/月 $899.99/年 |
购买 |
TOKYO | 4GB | 4核 | 80GB | 1TB | 1.2Gbps | $155.99/月 $1559.99/年 |
购买 | |
搬瓦工优惠码:BWHNCXNVXV | 搬瓦工购买教程:《2023 年最新搬瓦工购买教程和支付宝支付教程》 |
选择建议:
- 入门:洛杉矶 CN2 套餐,目前最便宜,可选 CN2 GT 机房,入门之选。
- 推荐:洛杉矶 CN2 GIA-E 套餐,速度超快,可选机房多(DC6、DC9、日本软银、荷兰联通等),性价比最高。
- 高端:香港 CN2 GIA 套餐,价格较高,但是无可挑剔。
搬瓦工新手教程
- 搬瓦工新手入门:《搬瓦工新手入门完全指南:方案推荐、机房选择、优惠码和购买教程》(推荐阅读)
- 搬瓦工购买教程:《2021 年最新搬瓦工购买教程和支付宝支付教程》
- 搬瓦工优惠码:BWHNCXNVXV
- 搬瓦工补货通知:《欢迎订阅搬瓦工补货通知(补货提醒)/ 加入搬瓦工交流群》
- 搬瓦工方案推荐:《搬瓦工高性价比 VPS 推荐:目前哪款方案最值得买?》
未经允许不得转载:Bandwagonhost中文网 » 如何手动在 CentOS 8 上安装 LNMP/LEMP 建站环境