温馨提示×

centos lnmp虚拟主机设置

小樊
55
2025-06-04 09:14:27
栏目: 云计算

在CentOS上设置LNMP(Linux, Nginx, MySQL/MariaDB, PHP)虚拟主机的步骤如下:

1. 安装Nginx

首先,确保你已经安装了Nginx。如果没有安装,可以使用以下命令进行安装:

sudo yum install epel-release sudo yum install nginx 

启动Nginx并设置开机自启动:

sudo systemctl start nginx sudo systemctl enable nginx 

2. 安装MySQL/MariaDB

接下来,安装MySQL或MariaDB。这里以MariaDB为例:

sudo yum install mariadb-server mariadb 

启动MariaDB并设置开机自启动:

sudo systemctl start mariadb sudo systemctl enable mariadb 

运行安全脚本以设置root密码和其他安全选项:

sudo mysql_secure_installation 

3. 安装PHP

安装PHP及其相关模块:

sudo yum install php php-fpm php-mysqlnd 

启动PHP-FPM并设置开机自启动:

sudo systemctl start php-fpm sudo systemctl enable php-fpm 

4. 配置Nginx虚拟主机

编辑Nginx配置文件以添加虚拟主机。假设你要为域名example.com设置虚拟主机:

sudo vi /etc/nginx/conf.d/example.com.conf 

添加以下内容:

server { listen 80; server_name example.com www.example.com; root /var/www/example.com; index index.php index.html index.htm; location / { try_files $uri $uri/ =404; } location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php-fpm/www.sock; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } location ~ /\.ht { deny all; } } 

保存并退出编辑器。

5. 创建网站目录和文件

创建网站根目录并添加一些示例文件:

sudo mkdir -p /var/www/example.com/html sudo chown -R nginx:nginx /var/www/example.com sudo chmod -R 755 /var/www/example.com echo "Hello, World!" | sudo tee /var/www/example.com/html/index.php 

6. 测试Nginx配置

测试Nginx配置文件是否有语法错误:

sudo nginx -t 

如果没有错误,重新加载Nginx以应用更改:

sudo systemctl reload nginx 

7. 配置DNS

确保你的域名example.com指向你的服务器IP地址。你可以在你的域名注册商的管理面板中进行设置。

8. 启用防火墙端口

确保防火墙允许HTTP(80)和HTTPS(443)流量:

sudo firewall-cmd --permanent --zone=public --add-service=http sudo firewall-cmd --permanent --zone=public --add-service=https sudo firewall-cmd --reload 

9. 安装SSL证书(可选)

如果你需要HTTPS支持,可以使用Let’s Encrypt安装SSL证书:

sudo yum install certbot python2-certbot-nginx sudo certbot --nginx -d example.com -d www.example.com 

按照提示完成证书的安装和配置。

完成以上步骤后,你的CentOS服务器上应该已经成功设置了LNMP虚拟主机。你可以通过浏览器访问http://example.com来查看效果。

0