在CentOS上设置LNMP(Linux, Nginx, MySQL/MariaDB, PHP)虚拟主机的步骤如下:
首先,确保你已经安装了Nginx。如果没有安装,可以使用以下命令进行安装:
sudo yum install epel-release sudo yum install nginx 启动Nginx并设置开机自启动:
sudo systemctl start nginx sudo systemctl enable nginx 接下来,安装MySQL或MariaDB。这里以MariaDB为例:
sudo yum install mariadb-server mariadb 启动MariaDB并设置开机自启动:
sudo systemctl start mariadb sudo systemctl enable mariadb 运行安全脚本以设置root密码和其他安全选项:
sudo mysql_secure_installation 安装PHP及其相关模块:
sudo yum install php php-fpm php-mysqlnd 启动PHP-FPM并设置开机自启动:
sudo systemctl start php-fpm sudo systemctl enable php-fpm 编辑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; } } 保存并退出编辑器。
创建网站根目录并添加一些示例文件:
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 测试Nginx配置文件是否有语法错误:
sudo nginx -t 如果没有错误,重新加载Nginx以应用更改:
sudo systemctl reload nginx 确保你的域名example.com指向你的服务器IP地址。你可以在你的域名注册商的管理面板中进行设置。
确保防火墙允许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 如果你需要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来查看效果。