插件窝 干货文章 CentOS怎么配置Nginx虚拟主机

CentOS怎么配置Nginx虚拟主机

example Nginx 配置 sudo 719    来源:    2025-04-21

CentOS 配置Nginx虚拟主机指南

前提条件

  • 已安装CentOS系统
  • 已安装Nginx
  • 具有root或sudo权限

配置步骤

1. 创建网站目录

sudo mkdir -p /var/www/example.com/html
sudo chown -R $USER:$USER /var/www/example.com/html
sudo chmod -R 755 /var/www/example.com

2. 创建测试页面

sudo nano /var/www/example.com/html/index.html

添加以下内容:

<html>
    <head>
        <title>Welcome to Example.com!</title>
    </head>
    <body>
        <h1>Success! The example.com virtual host is working!</h1>
    </body>
</html>

3. 创建虚拟主机配置文件

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

添加以下配置:

server {
    listen 80;
    listen [::]:80;

    server_name example.com www.example.com;
    root /var/www/example.com/html;
    index index.html;

    location / {
        try_files $uri $uri/ =404;
    }
}

4. 测试Nginx配置

sudo nginx -t

5. 重启Nginx服务

sudo systemctl restart nginx

6. 本地测试(可选)

如果只是本地测试,可以修改hosts文件:

sudo nano /etc/hosts

添加:

127.0.0.1 example.com www.example.com

高级配置选项

1. 启用HTTPS

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

2. 配置PHP支持

location ~ \.php$ {
    include snippets/fastcgi-php.conf;
    fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
}

3. 配置访问日志

access_log /var/log/nginx/example.com.access.log;
error_log /var/log/nginx/example.com.error.log;

常见问题解决

  1. 403 Forbidden错误:

    • 检查目录权限
    • 确保SELinux未阻止访问:sudo setenforce 0(临时禁用)
  2. Nginx无法启动:

    • 检查配置语法:sudo nginx -t
    • 查看错误日志:sudo tail -f /var/log/nginx/error.log
  3. 域名无法解析:

    • 确保DNS设置正确
    • 本地测试可修改hosts文件

通过以上步骤,您应该能够在CentOS上成功配置Nginx虚拟主机。