LNMP 或者 LEMP 也就是我们常说的 Linux + NGINX + MySQL/MariaDB + PHP 的建站环境组合,是非常流行的一种建站环境,因为目前基本上很多网站都是基于 PHP 的。至于说为什么也称作 LEMP,是因为老外发音的时候 NGINX 一般读作 engine-x,首字母是 E,所以这么简写。之前介绍过在 Ubuntu 系统上怎么手动安装 LNMP 建站环境,本文介绍一下怎么在 CentOS 系统上进行安装。
安装前准备工作
1、准备一个 CentOS 8 系统文章源自国外主机测评-https://www.zjcp.org/10582.html
目前搬瓦工可以一键安装 CentOS 8 系统,如果还没有兼容的系统,可以在搬瓦工 KiwiVM 后台重装系统 。文章源自国外主机测评-https://www.zjcp.org/10582.html
2、连接到搬瓦工 SSH文章源自国外主机测评-https://www.zjcp.org/10582.html
其次我们需要通过 SSH 连接到搬瓦工 VPS,然后才能进行一系列操作。文章源自国外主机测评-https://www.zjcp.org/10582.html
3、更新系统文章源自国外主机测评-https://www.zjcp.org/10582.html
sudo dnf update
安装 NGINX 教程
1、安装 NGINX文章源自国外主机测评-https://www.zjcp.org/10582.html
sudo dnf install nginx
2、启用并启动 NGINX 服务文章源自国外主机测评-https://www.zjcp.org/10582.html
sudo systemctl enable nginx sudo systemctl start nginx
安装 MariaDB 教程
MariaDB 就是开源版的 MySQL 数据库了,安装也比较简单。文章源自国外主机测评-https://www.zjcp.org/10582.html
1、安装 MariaDB 服务器和 MySQL/MariaDB-PHP 支持文章源自国外主机测评-https://www.zjcp.org/10582.html
sudo dnf install mariadb-server php-mysqlnd
2、设置 MariaDB 开机启动,并开启服务文章源自国外主机测评-https://www.zjcp.org/10582.html
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 系统上安装东西还是比较不同的,但是安装完成之后的操作基本都一样。
那如果我们要选择的话,建议是直接选择CN2 GIA,搬瓦工VPS是比较真的CN2。
方案 | 内存 | CPU | 硬盘 | 流量/月 | 带宽 | 机房 | 价格 | 购买 |
---|---|---|---|---|---|---|---|---|
CN2 常规方案 | ||||||||
CN2 (最便宜) |
1GB | 1核 | 20GB | 1TB | 1Gbps | DC3 CN2 DC8 ZNET DC2 QNET DC4 MCOM 美国弗里蒙特 美国新泽西 美国纽约 荷兰阿姆斯特丹 |
$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 | $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/年 |
购买 |