Nginx绑定多个域名
Nginx 是一款广泛应用的 Web 服务器,常用于反向代理、负载均衡器以及 HTTP 缓存等。
- 远程连接并登录到 Linux 实例。
- 执行命令 cd /etc/nginx/conf.d 打开 Nginx 服务配置文件目录.
- 执行命令 vi 您要创建的域名.conf 创建域名规则配置文件。
- 输入 i 编辑新建的配置文件。
- 远程连接并登录到 Linux 实例。
- 按 Esc 退出编辑并输入 :wq 保存退出。
- 执行命令 nginx -t 检查配置是否有误,并按照报错提示修复错误。
- 执行命令 service nginx restart 重启 Nginx 服务。
- 执行命令 service nginx reload 重新载入 Nginx 服务。
为每一个域名建立一个单独的配置文件时输入以下内容:
server
{
listen 80; #监听端口设为 80。
server_name www.server110.com; #绑定您的域名。
index index.htm index.html index.php; #指定默认文件。
root /home/www/server110.com; #指定网站根目录。
include location.conf; #当您需要调用其他配置文件时才粘贴此项,如无需要,请删除此项。
}
将多个域名规则写进一个共同的配置文件时输入以下内容:
server
{
listen 80; #监听端口设为 80。
server_name www.server110.com; #绑定您的域名。
index index.htm index.html index.php; #指定默认文件。
root /home/www/server110.com; #指定网站根目录。
include location.conf; #当您需要调用其他配置文件时才粘贴此项,如无需要,请删除此项。
}
server
{
listen 80; #监听端口设为 80。
server_name msn.server111.com; #绑定您的域名。
index index.htm index.html index.php; #指定默认文件。
root /home/www/msn.server110.com; #指定网站根目录。
include location.conf; #当您需要调用其他配置文件时才粘贴此项,如无需要,请删除此项。
}
网站升级成https
- 以域名托管在阿里云为例
- 下载对应的证书(可以申请免费的)
- 在Nginx的安装目录下创建cert目录,并且将下载的全部文件拷贝到cert目录中。如果申请证书时是自己创建的CSR文件,请将对应的私钥文件放到cert目录下并且命名为214957378800897.key;
- 打开 Nginx 安装目录下 conf 目录中的 nginx.conf 文件,找到:
# HTTPS server
# #server {
# listen 443;
# server_name localhost;
# ssl on;
# ssl_certificate cert.pem;
# ssl_certificate_key cert.key;
# ssl_session_timeout 5m;
# ssl_protocols SSLv2 SSLv3 TLSv1;
# ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
# ssl_prefer_server_ciphers on;
# location / {
#
#
#}
#}
- 将其修改为 (以下属性中ssl开头的属性与证书配置有直接关系,其它属性请结合自己的实际情况复制或调整) :如果没有的话,直接创建成下面的
server {
listen 443;
server_name localhost;
ssl on;
root html;
index index.html index.htm;
ssl_certificate cert/214957378800897.pem;
ssl_certificate_key cert/214957378800897.key;
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
location / {
root html;
index index.html index.htm;
}
}
- 也可以进行反向代理配置
server {
listen 443;
server_name www.xx.com
ssl on;
ssl_certificate cert/214957378800897.pem;
ssl_certificate_key cert/214957378800897.key;
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
location / {
proxy_pass http://localhost:8888
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection keep-alive;
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}
- 然后重启Nginx
执行命令 nginx -t 检查配置是否有误,并按照报错提示修复错误。
执行命令 service nginx restart 重启 Nginx 服务。
执行命令 service nginx reload 重新载入 Nginx 服务。