关于centOS7云服务器nginx代理前后端分离项目配置

centOS7云服务器nginx代理前后端分离项目配置 最近用Nginx做了一个项目代理,下面简单记录一下知识点以备不时之需。 1.因为此云服务器安全性较高,需要连接VPN用到跳板机操作。因为连接了专用网络,操作时就要断掉本机外网,所以搭建之前尽量做好准备工作。 2.实验证明,在云服务器上用yum安装Nginx比编译安装要方便一些。(因为编译安装可能少插件,也要考虑版本问题,卸载容易有残留) centos7中可能不包含Nginx源,所以我们手动添加一下: rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm 通过yum search nginx看看是否已经添加源成功。如果成功则执行下列命令安装Nginx: yum install -y nginx 启动Nginx: systemctl start nginx.service (如果没有环境变量可能要用到nginx -c /etc/nginx/nginx.conf命令启动) 查看Nginx状态: systemctl status nginx.service 系统默认会安装到/etc/Nginx目录下,有一点要注意的是,我安装的Nginx下有两个nginx.conf文件,两个位置分别在/etc/nginx/nginx.conf 和/etc/nginx/conf/nginx.conf 注意看具体哪个配置文件生效,大部分是第一个。 3.因为此时本机处于断网状态,所以代码需要wget下来。(此处忽略php7.4和composer的安装教程) 4.记好代码位置后,进行nginx配置: 在http{}层级下编辑server{}格式的代理,具体如下: user nginx nginx; worker_processes auto;

error_log /etc/nginx/logs/error.log notice; pid /etc/nginx/logs/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"';
    gzip on;
    gzip_static on;
    gzip_types text/plain text/css application/json application/javascript application/x-javascript text/xml application/xml application/xml+rss text/javas        cript;
    gzip_proxied  any;
    gzip_vary on;
    gzip_comp_level 6;
    gzip_buffers 16 8k;
    add_header X-Frame-Options SAMEORIGIN;

server {
    listen     443 ssl;
    listen     80;
    server_name  www.xxx.cn;

    root /code/ctwaf;
    location / {
            index index.html index.htm;
            try_files $uri $uri/ /index.html;
            }
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_certificate         /etc/nginx/conf/www.xxx.cn_bundle.crt;
    ssl_certificate_key     /etc/nginx/conf/www.xxx.cn_RSA.key;
    ssl_ciphers AESGCM:ALL:!DH:!EXPORT:!RC4:+HIGH:!MEDIUM:!LOW:!aNULL:!eNULL;
    ssl_prefer_server_ciphers on;

    location /xxxx/ {
        proxy_pass http://127.0.0.1:8080/xxxx/;
    }
}
server {
    listen     8080;
    server_name  _;
    #server_name  www.xxx.cn;
    root /code/ctwaf_server/public;
    location / {
            index index.php;
            if (!-e $request_filename) {
               rewrite  ^/(.*)$  /index.php?s=$1  last;
            }
    }

    location ~ \.php$ {
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            include        fastcgi_params;
            fastcgi_param  SCRIPT_FILENAME   $document_root$fastcgi_script_name;
    }

            error_page      500 502 503 504 /50x.html;
            location = /50x.html{
                    root html;
            }
}
access_log  /etc/nginx/logs/access.log  main;

sendfile        on;
#tcp_nopush     on;

keepalive_timeout  65;

include /etc/nginx/conf.d/*.conf;
    server_tokens off;

}

其中要注意的点: nginx的操作用户,可改为nginx或root(自己斟酌); 错误日志路径(方便后期调试查看); Pid路径; 如果有https 协议,在ssl_certificate和ssl_certificate_key后分别写上公钥和私钥的路径; 反向代理proxy_pass指向本机8000,代表80的/xxxx/的接口指向8080的/xxxx/; PHP项目需要启动php-fpm,默认占用9000端口 这样一个前后端分离的项目基本配置完成,如果修改nginx配置,记得执行nginx -s reload生效。

版权声明

翼安博客


首发 翼安博客,转载请附链接!

赞赏支持

感谢支持!


建站不易,感谢支持!

推荐阅读
web开发技术栈(框架)总结
Bootstrap-Layui-Amazeui-jQuery-vue-react-AngularJS-ci-Thinkphp-Yii-Laravel-Node-Django-springMVC-apache-nginx-mysql-redis…… 天呐,好多…… 小编虽说出身工业软件,但心里一直藏着一个UI梦。近两年,小编业余时间从零开始摸索web开发,把web开发常用的技术和框
3494

PHP7 引入的“??” 和“?:”的区别(三元运算符)
...
715

web前端开发技术储久良第三版第6章练习与实验答案
### [web前端开发技术储久良第三版答案整理(1-9章)](https://www.yixzm.cn/blog/367.html) 练习6 **1.选择题** (1)D (2)A (3)D(4)B **2.填空题** (1)``、``,`` (2)border="0" (3)矩形;圆形;多边形。 3.简答题 (1)设置滚动空白空间就是指滚动文字背景和它周围文字及图像之间的空白空间范围。默认
13779

web前端开发技术储久良第三版第2章练习与实验答案
### [web前端开发技术储久良第三版答案整理(1-9章)](https://www.yixzm.cn/blog/367.html) 练习2 **1.选择题** (1) B (2) D (3) A (4) B (5) A (6) B **2.填空题** (1) html、htm,index.html、default.html (2) head、body (3) 单、双,双,开
14943

web前端开发技术储久良第三版第12章练习与实验答案
### [web前端开发技术储久良第三版答案整理(10-17章)](https://www.yixzm.cn/blog/368.html) ** 1.选择题 ** (1)D (2)C (3)B (4)C (5)A ** 2.填空题 ** (1)post、get (2)浏览器、服务器 (3)``、name、size、multiple (4)textarea、rows、co
17057

web前端开发技术储久良第三版第13章练习与实验答案
### [web前端开发技术储久良第三版答案整理(10-17章)](https://www.yixzm.cn/blog/368.html) 练习13 ** 1.选择题 ** (1)C (2)A (3)D (4)C (5)A (6)D (7)B (8)D (9)C (10)D (11)C (12)A ** 2.填空题 ** (1)input、list、id。 (2) sr
12554

web前端开发技术储久良第三版第11章练习与实验答案
### [web前端开发技术储久良第三版答案整理(10-17章)](https://www.yixzm.cn/blog/368.html) 练习11 **1.选择题** (1)B (2)D (3)D (4)B (5)D (6)B **2.填空题** (1)``、 ``、`` (2) rowspan 、3、 Colspan 、 5 (3) frame、rules (4) cellspa
19075

web前端开发技术储久良第三版第10章练习与实验答案
### [web前端开发技术储久良第三版答案整理(10-17章)](https://www.yixzm.cn/blog/368.html) 练习12 **1.选择题** (1)B (2)A (3)C (4)D (5)A **2.简答题** (1)略 (2) display: none让对象不显示,原来不存在。 display:block—作用是显示特定对象;visibility: visib
21511

web前端开发技术储久良第三版答案整理(下:附录模拟试卷)
[web前端开发技术储久良第三版答案整理(下:附录模拟试卷)_诗和远方_弈心博客](https://www.yixzm.cn/blog/369.html) [web前端开发技术储久良第三版答案整理(中:10-17章)_诗和远方_弈心博客](https://www.yixzm.cn/blog/368.html) [web前端开发技术储久良第三版答案整理(上:1-9章)_诗和远方_弈心博客](ht
7647

web前端开发技术储久良第三版第5章练习与实验答案
### [web前端开发技术储久良第三版答案整理(1-9章)](https://www.yixzm.cn/blog/367.html) 练习5 **1.选择题** (1) D (2) C (3) B (4) C (5) B (6) A (7)B **2.填空题** (1) `href="mailto:someone@mail.com" ` (2) name、“#targe
5134

Web前端开发工程师面试(2020-9-15 面试笔试题目及回答思路指南)
面试题来自某互联网独角兽公司的前端开发工程师岗位面试记录,刚打听到的还很新鲜。 面试官和面试者小编都挺熟悉,所以内容具备一定参考价值。 面试中夹杂笔试,整个过程流程大体如下: ### 1 Q:简单做下自我介绍 A:这里是在问前端技术路线、技术面、技术成长规划,别有的没的讲一堆废话。 ### 2 Q:离职原因是什么? A:这里是问你,哪些原因会导致你离职?你工作的不稳定因素有哪些?你
1857

Web前端开发工程师笔试题(2019-3-28 整理16道,含答案)
前端时间因工作需要,整理了一套笔试题。 网上有许多套题,重复的比较多。出于笔试时间考虑,本文摘取16道,包含了CSS基本使用、时间绑定、定时器、存储、ajax和框架原理等内容。 题目偏简单,覆盖知识点勉强算全面。如果有更好的题目,也欢迎补充。 放着这里,希望能给正在准备面试的朋友们带来一点点价值。 ### 1. 一个200x200的div在不同分辨率屏幕上下左右居中,用css实现: di
2417