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、创建一个有正确权限的测试数据库和用户,下面的 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
安装 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 系统上安装东西还是比较不同的,但是安装完成之后的操作基本都一样。
搬瓦工优惠/性价比套餐推荐
搬瓦工优惠码: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 套餐,价格较高,但是无可挑剔。