当前位置:首页 > 技术文章 > 正文内容

Nginx配置前后端服务(nginx 前后端)

arlanguage4个月前 (12-30)技术文章30

nginx安装完成后,可以通过命令查看配置文件

nginx -t

配置文件nginx.conf,是总的配置,有的人会把配置全部配置到这个文件中,如果服务很多,这个文件变得非常庞大,我见过一个配置很大的,在里面找起配置就非常麻烦。这里面介绍,根据不同服务来创建配置文件,一个文件对应一个服务。

查看nginx.conf会看到如下一行代码

这表示,在/etc/nginx/conf.d/下面,所有以.conf结尾的文件,都会被加载,所以,我们可以在这个目录下面添加对应的文件,以服务名命名,这样,每个文件内容也不多,还能见名知意。

比如部署管理后台,可以命名为manage.conf

    server {
        listen 80; #端口号,按照自己的填写不冲突的
        server_name manage.test.com; # 域名,也可以填写ip地址
        

        location / {
            root /www/manage-test/dist;  # 前端项目所放置的位置           
            try_files $uri $uri/ /index.html;
            index index.html index.htm;
        }
        # 如果当前域名和ip后面加/api访问接口的话,就按下面配置代理
        location ^~/api/ {
            proxy_pass http://xxx:9000/;  # 接口地址
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_read_timeout 3600;
        }
    }

接口也可以配置负载均衡

# upstream关键字,后面svc-loadbalancer可以根据自己需要命名唯一,下面proxy_pass需要用到
upstream svc-loadbalancer {
        server svc1:9000;    # 服务的地址和端口,这里面也可以定义权重等参数
        server svc2:9000;
}
server {
        listen 80; #端口号,按照自己的填写不冲突的
        server_name manage.test.com; # 域名,也可以填写ip地址
       
        ... ...
        
        # 如果当前域名和ip后面加/api访问接口的话,就按下面配置代理
        location ^~/api/ {
            proxy_pass http://svc-loadbalancer;  # 上面定义的负载均衡变量
            ... ...
        }
}

里面的任一配置修改后,需要重启nginx才能生效,或者通过命令nginx -s reload使命令生效。

扫描二维码推送至手机访问。

版权声明:本文由AR编程网发布,如需转载请注明出处。

本文链接:http://www.arlanguage.com/post/564.html

标签: nginx 文件名
分享给朋友:

“Nginx配置前后端服务(nginx 前后端)” 的相关文章

K8S中Service使用nginx控制器实现Ingress负载均衡器的一个Demo

写在前面学习K8s中Service遇到,单独整理分享给小伙伴本文内容涉及:ingress-nginx-controller的创建基于ingress-nginx-controller的Ingress的创建基于Ingress的服务发布,SVC负载时间关系,关于Ingresshttp路由负载本文没有涉及部...

只想简单操作 Kubernetes 资源?用 Go 一招搞定,快试试 kom!

当你在使用代码操作k8s时,有没有觉得总要写很多代码,才能获取到一个资源,并且要处理底层的集群连接、client等一系列的东西。那么有没有一种简单的办法,毕竟我只是想读取一下集群内的Pod或者什么其他资源而已啊。为了解决这个问题,我们使用 kom https://github.com/weibaoh...

nginx location 多root理解location

由于应用需求,这个 r 目录需要单独拉出来做处理,nginx 最开始是这样写的: server { root /home/webadm/htdocs; index index.php; location /r/ { root /diska/htdocs; } location ~ \.php { f...

PHP-性能优化 php性能最优化安全最大化

1 尽量静态化如果一个方法能被静态,那就声明它为静态的,速度可提高1/4,甚至我测试的时候,这个提高了近三倍。当然了,这个测试方法需要在十万级以上次执行,效果才明显。其实静态方法和非静态方法的效率主要区别在内存:静态方法在程序开始时生成内存,实例方法(非静态方法)在程序运行中生成内存,所以静态方法可...

安卓手机上安装Linux开源模拟器-Termux

什么是TermuxTermux是一款基于 Android 平台的开源 Linux 终端模拟器,使用 pkg(apt) 进行软件包的管理。最重要的是,它无需手机 root 权限,因此,绝大多数 Android 都可以运行。Termux本质上是一个终端模拟器加上一套Linux的最小系统。这里的系统指的是...

终于有人把Docker讲清楚了,Docker入门教程,原来这么简单...

Docker是一个使用Go语言开发的开源的应用容器引擎,让开发者可以打包他们的应用以及依赖到一个可移植的容器中,然后发布到任何流行的机器上。Docker的迅猛发展和全新理念,席卷了整个IT界,成为云时代的一颗新星。Docker的优势Docker相比于传统虚拟化方式具有更多的优势:docker启动快速...