前端-前端项目打包时配置nginx.conf

nginx.conf


# user  nginx;
worker_processes  1;

error_log  /var/log/nginx/error.log warn;
pid        /var/run/nginx.pid;



events {
    worker_connections  1024;
}

http {
    include       /etc/nginx/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  /var/log/nginx/access.log  main;

    sendfile        on;
    #tcp_nopush     on;
    keepalive_timeout  65;
	client_max_body_size    200m;

    #gzip  on;

    #include /etc/nginx/conf.d/*.conf;

    server {
        listen 8080;
        server_name localhost;

        location ^~/mgrcontrol/{
            proxy_pass  '$MGR_SERVICE';
        }

        location /{
          add_header Access-Control-Allow-Origin *;
          add_header Access-Control-Allow-Methods 'GET, POST, OPTIONS';
          add_header Access-Control-Allow-Headers 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization';
          if ($request_method = 'OPTIONS') {
            return 204;
          }
          root   /opt/apps/dist;
          index  index.html index.htm;
          try_files $uri $uri/ /index.html;
        }
    }
}

这是一个简化版的 Nginx 配置文件

1. `user nginx;`: 指定 Nginx 进程的运行用户,这里是 `nginx` 用户。

2. `worker_processes 1;`: 指定 Nginx 使用的 worker 进程数量,这里是一个单一的进程。通常,这个值可以设置为机器的 CPU 核心数。

3. `error_log /var/log/nginx/error.log warn;`: 指定错误日志的路径和日志级别,这里将错误日志写入 `/var/log/nginx/error.log` 文件,仅记录警告级别及以上的错误。

4. `pid /var/run/nginx.pid;`: 指定 Nginx 进程 ID 的存储文件路径。

5. `events { ... }`: 定义事件模块,配置与连接处理有关的参数,如 worker 连接数。

6. `http { ... }`: 定义 HTTP 模块,包含了整个 HTTP 配置。

7. `include /etc/nginx/mime.types;`: 引入 MIME 类型配置文件。

8. `default_type application/octet-stream;`: 指定默认的 MIME 类型,如果没有匹配到其他类型,将使用 `application/octet-stream`。

9. `log_format main ...`: 配置日志格式,定义了访问日志的记录格式。

10. `access_log /var/log/nginx/access.log main;`: 指定访问日志的路径和使用的日志格式。

11. `sendfile on;`: 启用或禁用 sendfile,用于高效地传输文件。

12. `keepalive_timeout 65;`: 客户端与服务器之间的连接在空闲状态下的超时时间。

13. `client_max_body_size 200m;`: 允许客户端上传的最大请求体大小。

14. `server { ... }`: 定义一个虚拟主机配置。

    - `listen 8080;`: 监听的端口号是 8080。

    - `server_name localhost;`: 指定虚拟主机的域名。

    - `location ^~/mgrcontrol/ { ... }`: 针对以 `/mgrcontrol/` 开头的请求进行代理,将请求转发到 `$MGR_SERVICE`。

    - `location / { ... }`: 处理其他所有请求的配置块,包括添加 CORS 头,设置根目录,定义索引文件,以及处理路由。

        - `add_header Access-Control-Allow-Origin *;`: 允许所有来源的跨域请求。

        - `try_files $uri $uri/ /index.html;`: 尝试查找指定的文件,如果不存在则重定向到 `/index.html`。

这个配置文件基本上是一个简单的单一虚拟主机配置,监听在 8080 端口,处理静态文件请求和代理 `/mgrcontrol/` 路径的请求。同时,添加了一些跨域请求的处理。配置文件中的`$MGR_SERVICE` 是一个变量,具体的值可能在其他地方定义。

你可能感兴趣的:(前端,nginx,运维)