云主机测评网云主机测评网云主机测评网

云主机测评网
www.yunzhuji.net

如何在CentOS上配置Nginx虚拟主机?

CentOS 下配置 Nginx 虚拟主机,需编辑配置文件并设置 server 块。

在CentOS上配置Nginx虚拟主机是一种常见的实践,它允许在同一台服务器上运行多个网站或应用,本文将详细介绍如何在CentOS上使用Nginx配置虚拟主机,包括基于域名、端口和IP地址的三种配置方式。

一、准备工作

1、安装Nginx

如果尚未安装Nginx,可以使用以下命令进行安装:

   yum install -y epel-release
   yum install -y nginx

2、启动Nginx服务

   systemctl start nginx

3、设置开机自启

   systemctl enable nginx

4、检查Nginx配置文件语法是否正确

   nginx -t

二、配置Nginx虚拟主机

1. 基于域名的虚拟主机

这是最常用的一种配置方式,通过不同的域名来区分不同的虚拟主机。

(1)编辑主配置文件

打开Nginx的主配置文件/etc/nginx/nginx.conf,在http块中添加include指令,包含一个目录中的所有子配置文件:

   http {
       include       mime.types;
       default_type  application/octet-stream;
       include /etc/nginx/conf.d/*.conf;
   }

(2)创建虚拟主机配置文件

/etc/nginx/conf.d/目录下创建一个新的配置文件,例如example.com.conf

   server {
       listen       80;
       server_name  example.com www.example.com;
       root         /usr/share/nginx/html/example;
       index        index.html index.htm;
       location / {
           try_files $uri $uri/ =404;
       }
   }

(3)创建根目录并添加测试页面

   mkdir -p /usr/share/nginx/html/example
   echo "<h1>Welcome to example.com</h1>" > /usr/share/nginx/html/example/index.html

(4)重启Nginx

   systemctl restart nginx

2. 基于端口的虚拟主机

这种方式通过不同的端口号来区分不同的虚拟主机。

(1)编辑主配置文件

同样在/etc/nginx/nginx.conf中的http块中添加include指令。

(2)创建虚拟主机配置文件

/etc/nginx/conf.d/目录下创建一个新的配置文件,例如port8080.conf

   server {
       listen       8080;
       server_name  example.com;
       root         /usr/share/nginx/html/port8080;
       index        index.html index.htm;
       location / {
           try_files $uri $uri/ =404;
       }
   }

(3)创建根目录并添加测试页面

   mkdir -p /usr/share/nginx/html/port8080
   echo "<h1>Welcome to port 8080</h1>" > /usr/share/nginx/html/port8080/index.html

(4)开放防火墙端口

   firewall-cmd --permanent --add-port=8080/tcp
   firewall-cmd --reload

(5)重启Nginx

   systemctl restart nginx

3. 基于IP地址的虚拟主机

这种方式通过不同的IP地址来区分不同的虚拟主机。

(1)为网卡添加额外的IP地址

   ifconfig eth0:1 192.168.1.2 netmask 255.255.255.0 up

(2)编辑主配置文件

/etc/nginx/nginx.conf中的http块中添加include指令。

(3)创建虚拟主机配置文件

/etc/nginx/conf.d/目录下创建一个新的配置文件,例如ip192.168.1.2.conf

   server {
       listen       192.168.1.2:80;
       server_name  example.com;
       root         /usr/share/nginx/html/ip192.168.1.2;
       index        index.html index.htm;
       location / {
           try_files $uri $uri/ =404;
       }
   }

(4)创建根目录并添加测试页面

   mkdir -p /usr/share/nginx/html/ip192.168.1.2
   echo "<h1>Welcome to IP 192.168.1.2</h1>" > /usr/share/nginx/html/ip192.168.1.2/index.html

(5)重启Nginx

   systemctl restart nginx

三、常见问题解答

Q1: Nginx配置文件修改后不生效?

A1: 修改Nginx配置文件后,需要重新加载或重启Nginx服务才能使更改生效,可以使用以下命令重新加载配置:

nginx -s reload

或者重启Nginx服务:

systemctl restart nginx

Q2: 如何更改Nginx默认网页根目录?

A2: 默认情况下,Nginx的网页根目录是/usr/share/nginx/html,你可以在虚拟主机配置中通过root指令来指定新的根目录,

server {
    listen       80;
    server_name  example.com;
    root         /var/www/html; # 新的根目录路径
    index        index.html index.htm;
    location / {
        try_files $uri $uri/ =404;
    }
}

然后重启Nginx服务即可。

打赏
版权声明:主机测评不销售、不代购、不提供任何支持,仅分享信息/测评(有时效性),自行辨别,请遵纪守法文明上网。
文章名称:《如何在CentOS上配置Nginx虚拟主机?》
文章链接:https://www.yunzhuji.net/internet/278355.html

评论

  • 验证码