nginx 同一 iP 多域名配置方法(多子配置文件,含 https)

2023-02-17 15:08:03 浏览数 (1)

一、Nginx 配置文件

  路径:/usr/local/nginx/conf/nginx.conf

  操作:在 http 模块增加(子配置文件的路径和名称):include vhost/*.conf;  另外需要注意一下 user 后面要改成 root.

代码语言:javascript复制
#user  nobody;
# user 改成 root
user root;
worker_processes  1;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;


events {
    worker_connections  1024;
}


http {
    include       mime.types;
    default_type  application/octet-stream;

    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';

    #access_log  logs/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    #gzip  on;

    #子配置文件的目录和文件后缀
    include vhost/*.conf;


    
}

二、Nginx 子配置文件

  路径:/usr/local/nginx/conf/vhost

代码语言:javascript复制
[root@VM_2_29_centos vhost]# ls
xieboke.net.conf  zhuoqun.info.conf

  子配置文件例子:[root@VM_2_29_centos vhost]# vim xieboke.net.conf 

代码语言:javascript复制
server {
        listen       80;
        listen       443;
        server_name  xieboke.net www.xieboke.net;
        charset utf-8;
        
        # ssl 开头的都是 https 的配置
        ssl on;
        ssl_certificate      /root/yzq/ssl/xieboke.net/1_xieboke.net_bundle.crt;
        ssl_certificate_key  /root/yzq/ssl/xieboke.net/2_xieboke.net.key;

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

        ssl_ciphers  HIGH:!aNULL:!MD5;
        ssl_prefer_server_ciphers  on;

        access_log  /root/yzq/logs/xieboke.net.access.log;
        error_log   /root/yzq/logs/xieboke.net.error.log;

        location / {
                  # 监听 9090 端口,与 ini 里的 socket 设置成同一个端口
                  uwsgi_pass 127.0.0.1:9090;
                  include uwsgi_params;
                  # root   html;
                  # index  index.html index.htm;
                }

        location /media {
                  # media 文件目录
                  alias /root/yzq/djangos/blog/media;
                }

        location /static {
                  # 静态文件目录,先用 Python manage.py collectstatic 收集到 STATIC_ROOT 指定的目录
                  alias /root/yzq/djangos/blog/static_root;
                  # 七牛云管理静态文件
                  # proxy_pass http://static.xieboke.net/static_root;
                  # rewrite /static/(.*) http://static.xieboke.net/static_root/$1;
                }
       }

三、检查 nginx 配置

       命令:nginx -t

代码语言:javascript复制
[root@VM_2_29_centos log]# nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful

四、启动 nginx ( 指定配置文件 )

      命令:/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

五、重载 nginx

      命令: nginx -s reload

六、HTTPS 注意点

      如果编译时,没选择 ssl 模块,后续添加 ssl 就需要重新编译和安装。./configure --prefix=/usr/local/nginx-1.14.2 --with-http_ssl_module -> make&&make install.

0 人点赞