接口、前端分离

nginx 如何配置

当您想二次开发更自由或者前后端分离,请参考一下配置。

  • 无证书情况的接口配置 ```bash server{

    gzip用来压缩前端文件体积

    gzip on; gzip_min_length 1024; gzip_buffers 4 16k; gzip_comp_level 9; gzip_types text/plain application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png application/javascript; gzip_vary on;

    上传文件大小

    client_max_body_size 5m; listen 80;

    输入您的域名 api.fashop.cn 只为演示代码,如果您没有域名可以在本地的host里进行模拟,加一行 127.0.0.1 api.fashop.cn,这样就拦截了这个域名跳到本地项目,请尽可能的模拟线上环境

    server_name api.fashop.cn;

    fastcgi_connect_timeout 300; fastcgi_send_timeout 300; fastcgi_read_timeout 300;

    映射到swoole端口

    location / {

    1. proxy_pass http://127.0.0.1:9510;
    2. proxy_redirect off;
    3. proxy_set_header Host $host;
    4. proxy_set_header X-Real-IP $remote_addr;
    5. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    6. proxy_http_version 1.1;
    7. proxy_set_header Upgrade $http_upgrade;
    8. proxy_set_header Connection "upgrade";
    9. proxy_connect_timeout 300s;
    10. proxy_send_timeout 300s;
    11. proxy_read_timeout 300s;

    }

    上传资源

    location ~/Upload/.*.(gif|jpg|jpeg|png|txt|mp3|mp4|rmvb|mkv|avi|mov|MOV|json|ico|css|js)$ {

    1. root /var/www/fashop/;

    } }

  1. - 有证书的接口配置
  2. ```bash
  3. server{
  4. listen 443;
  5. server_name api.fashop.cn;
  6. ssl on;
  7. root /var/www/fashop/;
  8. index index.html index.htm;
  9. ssl_certificate /etc/nginx/cert/fashop.pem;
  10. ssl_certificate_key /etc/nginx/cert/fashop.key;
  11. ssl_session_timeout 5m;
  12. ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
  13. ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
  14. ssl_prefer_server_ciphers on;
  15. # gzip用来压缩前端文件体积
  16. gzip on;
  17. gzip_min_length 1024;
  18. gzip_buffers 4 16k;
  19. gzip_comp_level 9;
  20. gzip_types text/plain application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png application/javascript;
  21. gzip_vary on;
  22. # 上传文件大小
  23. client_max_body_size 5m;
  24. # 输入您的域名 api.fashop.cn 只为演示代码,如果您没有域名可以在本地的host里进行模拟,加一行 127.0.0.1 api.fashop.cn,这样就拦截了这个域名跳到本地项目,请尽可能的模拟线上环境
  25. fastcgi_connect_timeout 300;
  26. fastcgi_send_timeout 300;
  27. fastcgi_read_timeout 300;
  28. # 映射到swoole端口
  29. location / {
  30. proxy_pass http://127.0.0.1:9510;
  31. proxy_redirect off;
  32. proxy_set_header Host $host;
  33. proxy_set_header X-Real-IP $remote_addr;
  34. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  35. proxy_http_version 1.1;
  36. proxy_set_header Upgrade $http_upgrade;
  37. proxy_set_header Connection "upgrade";
  38. proxy_connect_timeout 300s;
  39. proxy_send_timeout 300s;
  40. proxy_read_timeout 300s;
  41. }
  42. # 上传资源
  43. location ~/Upload/.*\.(gif|jpg|jpeg|png|txt|mp3|mp4|rmvb|mkv|avi|mov|MOV|json|ico|css|js)$ {
  44. root /var/www/fashop/;
  45. }
  46. }
  • 无证书前端配置 ```bash server{ gzip on; gzip_min_length 1024; gzip_buffers 4 16k; gzip_comp_level 9; gzip_types text/plain application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png application/javascript; gzip_vary on;

    listen 80; server_name admin.fashop.cn; root /var/www/fashop-admin/; index index.html;

    location ~.*.(gif|jpg|jpeg|png|txt|mp3|mp4|rmvb|mkv|avi|mov|MOV)$ {

    1. root /var/www/fashop-admin/前端build的目录/;
    2. # 什么是build ? node 编译过的后台前端文件夹目录

    } location / {

    1. root /var/www/fashop-admin/前端build的目录/;
    2. try_files $uri /index.html;

    } }

  1. - 有证书前端配置
  2. ```bash
  3. server{
  4. listen 443;
  5. server_name admin.fashop.cn;
  6. root /var/www/fashop-admin/;
  7. index index.html;
  8. ssl on;
  9. ssl_certificate /etc/nginx/cert/fashop.pem;
  10. ssl_certificate_key /etc/nginx/cert/fashop.key;
  11. ssl_session_timeout 5m;
  12. ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
  13. ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
  14. ssl_prefer_server_ciphers on;
  15. gzip on;
  16. gzip_min_length 1024;
  17. gzip_buffers 4 16k;
  18. gzip_comp_level 9;
  19. gzip_types text/plain application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png application/javascript;
  20. gzip_vary on;
  21. location ~.*\.(gif|jpg|jpeg|png|txt|mp3|mp4|rmvb|mkv|avi|mov|MOV)$ {
  22. root /var/www/fashop-admin/前端build的目录/;
  23. # 什么是build ? node 编译过的后台前端文件夹目录
  24. }
  25. location / {
  26. root /var/www/fashop-admin/前端build的目录/;
  27. try_files $uri /index.html;
  28. }
  29. }