Linux系统的nginx 前后端完整配置代理

1、前端配置

将打包后的dist内容放入/usr/local/nginx/下的html文件夹中

	    location / {
	        # root  html
		    try_files $uri $uri/ index.html
		    index indx.html index.htm
		}

2、后端接口代理配置 (以/server01为例,后端ip及端口为http://localhost:6000)

	    location ~/server01/{
	       	rewrite ^/server01/(.*)$  $1 break;
	      	proxy_pass http://localhost:6000;
	    }

3、完整代码如下:

#配置用户或者组,默认为nobody nobody。
user  nginx;
#允许生成的进程数,默认为1
worker_processes  auto;

#制定日志路径,级别。这个设置可以放入全局块,http块,server块,级别以此为:debug|info|notice|warn|error|crit|alert|emerg
error_log  /var/log/nginx/error.log notice;

#指定nginx进程运行文件存放地址
pid        /var/run/nginx.pid;


events {
     accept_mutex on;   #设置网路连接序列化,防止惊群现象发生,默认为on
     multi_accept on;  #设置一个进程是否同时接受多个网络连接,默认为off
     #use epoll;      #事件驱动模型,select|poll|kqueue|epoll|resig|/dev/poll|eventport
    #最大连接数,默认为512
    worker_connections  1024;
}


http {
    #文件扩展名与文件类型映射表
    include       /etc/nginx/mime.types;
    #默认文件类型,默认为text/plain
    default_type  application/octet-stream;

    #给文件格式命名为main
    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
       #               '$status $body_bytes_sent "$http_referer" '
       #               '"$http_user_agent" "$http_x_forwarded_for"';

    # 配置nginx 日志地址,并设置文件格式为mian
    access_log  /var/log/nginx/access.log  main;

    #允许sendfile方式传输文件,默认为off,可以在http块,server块,location块。
    sendfile        on;
    #tcp_nopush     on;
    #连接超时时间,默认为75s,可以在http,server,location块。
    keepalive_timeout  65;
    add_header 'Access-Control-Allow-Origin' '*';
    add_header 'Access-Control-Allow-Method' 'GET,POST,DELETE,PUT';
    add_header 'Access-Control-Allow-Headers' 'X-Requested-With';
    server {
		    # 表示 nginx 监听的端口
		    listen 80;
		    //前端配置
		    location / {
		        # root  html
		        try_files $uri $uri/ index.html
		        index indx.html index.htm
		    }
		    //后端接口代理配置 以server01为例
		    location ~/server01/{
		       	rewrite ^/server01/(.*)$  $1 break;
		      	proxy_pass http://localhost:6000;
		    }
		    
		    error_page 404 /404.html;
		    location = /40x.html {
		       	  root html
		    }
		    error_page 500 502 503 504 /50x.html;
		    location = /50x.html {
		          root html
		    }
	}
}

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Nginx 是一款高性能的 Web 服务器,也可以作为反向代理服务器、负载均衡服务器和 HTTP 缓存服务器等。在前后端分离的项目中,可以使用 Nginx 部署前端和后端。 下面是一些简单的步骤: 1. 安装 Nginx。 在 Linux 系统上,可以使用包管理工具进行安装,如在 Ubuntu 上可以使用以下命令安装: ``` sudo apt-get update sudo apt-get install nginx ``` 2. 配置 Nginx。 编辑 Nginx配置文件 `/etc/nginx/nginx.conf`,添加以下配置: ``` server { listen 80; server_name example.com; # 前端域名 root /path/to/frontend; # 前端目录 location / { try_files $uri $uri/ /index.html; } } server { listen 80; server_name api.example.com; # 后端域名 root /path/to/backend; # 后端目录 location / { proxy_pass http://127.0.0.1:8000; # 后端实际地址 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_set_header X-Forwarded-Proto $scheme; } } ``` 这里假设前端使用的是 Vue.js 框架,后端使用的是 Python Flask 框架。前端文件在 `/path/to/frontend` 目录下,后端代码在 `/path/to/backend` 目录下,后端监听的端口号是 8000。 3. 启动 Nginx。 启动 Nginx 服务,可以使用以下命令: ``` sudo systemctl start nginx ``` 如果要设置 Nginx 开机自启动,可以使用以下命令: ``` sudo systemctl enable nginx ``` 4. 访问前后端页面。 在浏览器中访问前端页面,可以输入 `http://example.com`,在浏览器中访问后端 API 接口,可以输入 `http://api.example.com/api/xxx`。 这样就完成了前后端分离项目的部署。需要注意的是,如果前端和后端使用的是不同的域名,需要在 DNS 解析中添加相应的解析记录,使域名能够正确解析到服务器的 IP 地址。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值