当前位置:首页 > 服务端 > Nginx 配置多个站点的方法

Nginx 配置多个站点的方法

2022年11月05日 20:32:31服务端15

实施步骤:

    查看nginx安装位置:

whereis nginx

    如果是配置多个项目,可以在nginx下新建www文件夹用于存放各个项目的下项目文件(生产环境)。因为默认的nginx/html是80端口的,这样做是为了和其他站点的区分。

    部署过程最重要的文件 nginx/conf/nginx.conf ,此文件是nginx配置文件、这里我们称它为主配置文件。

配置多站点时,可在 nginx 目录下创建个vhost 文件夹,并且为每个站点新建各自的配置文件。

(PS:其实也可以写在主配置文件中,这样区分是为了让各个站点的配置文件进行抽离,避免/conf/nginx.conf混乱)。

mkdir vhost
cd vhost
touch vhost_XXX.conf                  //xxx 项目名称,文件名称随意但是注意文件类型

子文件的配置 vhost_XXX.conf

server{
    listen       8090;                //监听端口
    server_name  localhost;           //域名
    #charset koi8-r;
    #access_log  /var/log/nginx/access.log  main;
    location / {
        root www/mi_project;          //项目所在目录,配置时是相对 /nginx  这个路径
        try_files $uri /index.html;   //找指定路径下文件,如果不存在,则转给哪个文件执行
    }
}

    配置完,需要在主配置文件中末尾也就是/conf/nginx.conf 里面引入各个子站点配置文件

http {
    ....
    include /usr/local/nginx/vhost/*.conf;  //引入子配置文件,注意文件路径
}

当每次修改了 /conf/nginx.conf 需要重启nginx

cd /usr/local/nginx/sbin                    //sbin文件夹
./nginx -s reload 

    好了,赶紧看效果吧!!

可能遇到的问题:

  • 当我们在没上线前,使用类似http-proxy-middleware进行跨越,在上线的时候会发现失效了,这时候需设置nginx的路径重写可解决问题,配置rewrite或其他方式:
server {
        listen       80;
        server_name  localhost;
        #charset koi8-r;
        #access_log  logs/host.access.log  main;
        location / {
            root   html;
            index  index.html index.htm;
            try_files $uri /index.html;
            rewrite ^/order/(.*)$  https://wirelesspub-order.xiaozhu.com/$1 break;  //!!!
            rewrite ^/app/(.*)$  https://wirelesspub.xiaozhu.com/app/$1 break;      //!!!
        }
}
  • 如果遇到了403错误的话,请先排查是否是文件夹权限的问题!
    • 简单暴力法

                在/conf/nginx.conf 第一行 取消注释原有的,设置为 user root

  •     设置文件夹权限(不一定能解决)

               cd到需要设置文件夹的父文件夹

chmod -R 777  文件夹名

 

其他:

    关于try_files :设置根据路由所指定的文件,按顺序检查文件是否存在,返回第一个找到的文件。结尾的斜线表示为文件夹 -$uri/。如果所有的文件都找不到,会进行一个内部重定向到最后一个参数。

try_files $uri /index.html;


参考:

https://blog.csdn.net/a519640026/article/details/9138329

location配置

https://my.oschina.net/sdlvzg/blog/1813316

路径重写

https://blog.51cto.com/jiuwo/2313252

作者:Wind&zz
来源链接:https://blog.csdn.net/weixin_43846403/article/details/88657625

版权声明:
1、JavaClub(https://www.javaclub.cn)以学习交流为目的,由作者投稿、网友推荐和小编整理收藏优秀的IT技术及相关内容,包括但不限于文字、图片、音频、视频、软件、程序等,其均来自互联网,本站不享有版权,版权归原作者所有。

2、本站提供的内容仅用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯相关权利人及本网站的合法权利。
3、本网站内容原作者如不愿意在本网站刊登内容,请及时通知本站(javaclubcn@163.com),我们将第一时间核实后及时予以删除。


本文链接:https://www.javaclub.cn/server/68037.html

标签: Nginx
分享给朋友:

“Nginx 配置多个站点的方法” 的相关文章

十分钟学习nginx

十分钟学习nginx

启动 nginx 重启 nginx -s reopen 停止 nginx -s stop 热加载 ./nginx -s reload 测试修改配置文件是否正常 nginx -t 默认配...

【SpringBoot】SpringBoot整合Nginx的全部流程

【SpringBoot】SpringBoot整合Nginx的全部流程

                             SpringBoot整合Nginx的全部流程 对Nginx还不了解...

centos7安装nacos2.0.2集群附带nginx配置

centos7安装nacos2.0.2集群附带nginx配置

1、官方网址 官网:https://nacos.io/zh-cn/ Release地址:https://github.com/alibaba/nacos/releases 下载地址:https://github.com/alibaba/nacos/...

【2022最新Java面试宝典】—— Nginx面试题(23道含答案)

目录 1. 什么是Nginx? 2. 为什么要用Nginx? 3. 为什么Nginx性能这么高? 4. Nginx怎么处理请求的? 5. 什么是...

Nginx代理Nacos集群部署

Nginx代理Nacos集群部署

Nginx代理Nacos集群部署 一、环境 操作系统:Centos7及以上或Mac Nginx版本:1.21.6 Nacos版本:2.0.4 Nginx网址、Nginx中文文档 Nacos网址 二、Nacos集群部署...

使用docker安装nginx

使用docker安装nginx

一、获取nginx镜像 1.获取nginx镜像列表 docker search nginx 2.拉取nginx镜像到本地(注:默认选取官方最新镜像),其它版本可以去DockerHub查询 docker pull nginx...

nginx 拦截 swagger 登录

随着微服务的也来越多,每个服务都有单独的文档,那么问题来了,怎么把所有文档整合在一起呢 本方法采用服务器拦截的方式进行处理 首先需要在opt 的主目录中 /opt/ 创建一个新文件 htpasswd此文件的书写格式是用户名:密码每行一个账户并且 密码必须使用函数 crypt...

nginx & flup & django & python3.x @ window7配置备忘录

         最近考虑原Prism建筑(非职业、半专业人士认为C/S建筑)至B/S迁移,主要是由于部署问题,包括两个因素:已经做,虽然一键安装和部署的一个因素,心存顾虑,虽然我一再声明这是一个绿色软件。还有一个因素是在有的...

Nginx部署vue项目

Nginx部署vue项目

步骤一:项目打包 打开vscode终端 在终端输入 npm run build 这时可以看到生成dist文件夹,我们要放在服务器上的文件就在这, 步骤二:配置nginx 找到在官网下载的安装包。 找到下载的安装包...

nginx虚拟主机配置

nginx虚拟主机配置

新版本nginx的配置文件被拆分为若干部分 1、主配置文件为nginx.conf 2、与php相关的是fastcgi_params 3、与python相关的是uwsgi_params 4、...其他配置文件 [PS:首先确保占用80端口的服务被停止,ngi...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。