nginx配置多个网站, 同时部署SSL证书,使用https访问

论坛 期权论坛 编程之家     
选择匿名的用户   2021-6-2 15:57   2058   0

一. nginx配置多个网站

1. 建立多网站的目录:

要配置多个网站,首先你得有多个网站, 这里我们
比如,我们将网站建立再 /data文件夹中

2. 在nginx目录下建立服务配置文件

我们在nginx目录下新建一个vhost文件夹,并建立两个配置文件

然后在配置文件中编辑,

server {
  listen    80;            # 监听端口
  server_name www.xxyun.com xxyun.com;  # 站点域名
  root /data/xxyun;       # 站点根目录
  index index.html index.htm index.php;  # 默认导航页
  
  location / {
    # root   /data/xxyun/;
    index  index.html index.htm;
  }
  error_page  500 502 503 504 /50x.html;
  location = /50x.html {
    root  /data/xxyun/;
  }
}

3. 在nginx配置文件中导入上面的配置文件

注释掉之前的80端口

include /usr/local/nginx/vhost/vhost_xxxxyun.conf;
    include /usr/local/nginx/vhost/vhost_cloud_xxxxyun.conf;

注释掉之前的80端口server

由于文件的改变, 容易出现一个问题: nginx重启时出现[error] open() “/usr/local/var/run/nginx/nginx.pid”
这是我只需要将 nginx.conf配置文件中的这条语句打开

pid        logs/nginx.pid;

4. 重启nginx

跳转到Nginx的sbin目录使用以下命令停止nginx并重启

cd /usr/local/nginx/sbin/
./nginx                 启动nginx
./nginx -s quit      停止nginx
./nginx -s reload  重启nginx

至此: 我们完成了nginx同一端口配置多个网址的配置

二. 配置SSL证书,实现HTTPS登录

以腾讯云为例:https://cloud.tencent.com/document/product/400/35244

1. 上传crt和key文件

无论通过何种渠道, 当您完成SSL证书申请, 得到证书之后, 会得到crt文件和key文件, 我们需要将其上传至服务器中,这里为了方便,我直接把它们和它们的服务器配置文件放在了一起

2. 在各自的配置文件中配置443端口访问

server {
  listen    80;            # 监听端口
  server_name www.xxxxyun.com xxxxyun.com;  # 站点域名
  root /data/xxxxyun;       # 站点根目录
  index index.html index.htm index.php;  # 默认导航页
  
  location / {
    # root   /data/xxxxyun/;
    index  index.html index.htm;
  }
  error_page  500 502 503 504 /50x.html;
  location = /50x.html {
    root  /data/xxxxyun/;
  }
}

server {
  listen       443 ssl;
  server_name  www.xxxxyun.com xxxxyun.com;  # 站点域名

  ssl_certificate      ../vhost/1_xxxxyun.com_bundle.crt;
  ssl_certificate_key  ../vhost/2_xxxxyun.com.key;

  # ssl_session_cache    shared:SSL:1m;
  ssl_session_timeout  5m;

  ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
  ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; 
  
  ssl_prefer_server_ciphers  on;

  location / {
    root   /data/xxxxyun;
    index  index.html index.htm;
  }
}

至此SSL证书布置完成,https登录已经实现

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP