官方网站 云服务器 专用服务器香港云主机28元月 全球云主机40+ 数据中心地区 成品网站模版 企业建站 业务咨询 微信客服

CentOSNginx三种虚拟主机配置

admin 7小时前 阅读数 375 #虚拟主机知识
本文介绍了在CentOS系统中配置Nginx的三种虚拟主机方式:基于域名、基于IP地址和基于端口,通过编辑Nginx配置文件,使用server_name指令实现基于域名的虚拟主机;通过绑定多个IP地址,并在配置文件中指定相应的IP地址来设置基于IP的虚拟主机;通过修改端口号实现基于端口的虚拟主机,每种方法都需要重启Nginx服务以使配置生效,并确保DNS解析正确。

CentOS上Nginx三种虚拟主机的配置详解

在现代Web开发中,使用虚拟主机来管理多个域名或子域是一项常见的需求,通过Nginx,我们可以轻松实现这一目标,并且在CentOS系统下,这种配置显得尤为简单和高效,本文将详细介绍三种虚拟主机的配置方式:基于域名、基于IP地址以及基于端口。


环境准备

安装Nginx

在CentOS上安装Nginx可以通过yum命令完成,请确保您的系统是最新的:

sudo yum update -y

然后安装Nginx:

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

启动Nginx服务

安装完成后,我们需要启动Nginx服务并设置为开机自启:

sudo systemctl start nginx
sudo systemctl enable nginx

验证安装

打开浏览器访问服务器的IP地址,如果看到默认的Nginx欢迎页面,则说明安装成功。


基于域名的虚拟主机配置

修改主配置文件

Nginx的主要配置文件位于/etc/nginx/nginx.conf,我们可以在该文件中添加虚拟主机的配置,首先备份原文件:

sudo cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak

创建虚拟主机配置文件

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

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

编写配置内容

在新创建的文件中输入以下内容:

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

测试配置并重启Nginx

在终端中运行以下命令以检查配置是否有误:

sudo nginx -t

如果没有错误提示,可以安全地重启Nginx以应用更改:

sudo systemctl restart nginx

绑定域名到服务器IP

确保DNS记录正确指向您的服务器IP地址,您可以使用本地hosts文件进行测试:

echo "192.168.1.100 example.com www.example.com" | sudo tee -a /etc/hosts

基于IP地址的虚拟主机配置

配置文件结构

基于IP地址的虚拟主机配置与基于域名的方式类似,但需要明确指定监听的IP地址,假设您有另一个可用的IP地址168.1.101

创建新的配置文件

/etc/nginx/conf.d/目录下创建一个名为another-site.conf的新文件:

sudo nano /etc/nginx/conf.d/another-site.conf

编写配置内容

server {
    listen 192.168.1.101:80;
    server_name another-site.com;
    root /var/www/another-site.com/html;
    index index.html index.htm;
    location / {
        try_files $uri $uri/ =404;
    }
}

重启Nginx服务

同样需要测试配置文件并重启Nginx:

sudo nginx -t
sudo systemctl restart nginx

配置防火墙

如果使用的是firewalld,请确保允许HTTP流量:

sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --reload

基于端口的虚拟主机配置

创建配置文件

/etc/nginx/conf.d/目录下创建一个名为port-based.conf的新文件:

sudo nano /etc/nginx/conf.d/port-based.conf

编写配置内容

server {
    listen 8080;
    server_name port-based.com;
    root /var/www/port-based.com/html;
    index index.html index.htm;
    location / {
        try_files $uri $uri/ =404;
    }
}

重启Nginx服务

如前文所述,同样需要测试配置文件并重启Nginx:

sudo nginx -t
sudo systemctl restart nginx

访问端口

使用浏览器访问http://your_server_ip:8080即可查看配置效果。


通过以上步骤,我们已经学会了如何在CentOS上使用Nginx配置三种类型的虚拟主机:基于域名、基于IP地址以及基于端口,每种方法都有其适用场景,选择合适的方案能够更好地满足业务需求,希望这篇文章能帮助您快速上手,并为未来的项目打下坚实的基础。

版权声明
本网站发布的内容(图片、视频和文字)以原创、转载和分享网络内容为主 如果涉及侵权请尽快告知,我们将会在第一时间删除。
本站原创内容未经允许不得转载,或转载时需注明出处:特网云知识库

热门