Nginx是一款功能强大的Web服务器软件,广泛应用于反向代理、负载均衡、动静分离等场景。在实际应用中,我们经常需要在同一台服务器上托管多个网站,这就需要Nginx来配置多个域名。下面我们就来详细介绍如何使用Nginx配置多个域名。
1. 了解Nginx的虚拟主机配置
在Nginx中,我们可以通过配置虚拟主机来实现多个域名的托管。每个虚拟主机都有自己独立的配置文件,包括监听端口、根目录、日志文件等。当用户访问某个域名时,Nginx会根据域名匹配对应的虚拟主机配置,从而将请求转发到正确的网站。
2. 配置多个域名
下面我们以一个具体的例子来说明如何配置多个域名:
假设我们有两个域名:example1.com和example2.com,它们都指向同一台服务器的IP地址。我们需要在Nginx中为这两个域名分别创建虚拟主机配置。
首先,打开Nginx的主配置文件nginx.conf,在http块中添加以下内容:
server {
listen 80;
server_name example1.com;
root /var/www/example1;
index index.html index.htm;
}
server {
listen 80;
server_name example2.com;
root /var/www/example2;
index index.html index.htm;
}
在上述配置中,我们定义了两个server块,分别对应example1.com和example2.com两个域名。每个server块中包含以下配置项:
listen 80;
: 监听80端口,即HTTP协议。server_name example1.com;
: 指定域名。root /var/www/example1;
: 指定网站根目录。index index.html index.htm;
: 指定默认索引文件。
保存配置文件并重启Nginx,这样就完成了多个域名的配置。
3. 配置HTTPS支持
除了HTTP协议,我们还可以为每个域名配置HTTPS支持。具体步骤如下:
- 申请SSL证书,可以使用免费的Let's Encrypt证书。
- 将证书文件(如cert.pem和key.pem)放置在Nginx配置目录下。
- 修改Nginx配置,在server块中添加以下内容:
listen 443 ssl; ssl_certificate /path/to/cert.pem; ssl_certificate_key /path/to/key.pem;
- 保存配置文件并重启Nginx。
至此,我们就完成了使用Nginx配置多个域名并支持HTTPS的过程。通过这种方式,我们可以在同一台服务器上托管多个网站,提高资源