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

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

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

一、准备工作

centos nginx虚拟主机

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指令,包含一个目录中的所有子配置文件:

centos nginx虚拟主机
   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)创建虚拟主机配置文件

centos nginx虚拟主机

/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服务即可。

原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1391391.html

本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。

(0)
未希的头像未希新媒体运营
上一篇 2024-12-08 12:26
下一篇 2024-12-08 12:29

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

产品购买 QQ咨询 微信咨询 SEO优化
分享本页
返回顶部
云产品限时秒杀。精选云产品高防服务器,20M大带宽限量抢购 >>点击进入