centos系统下安装Nginx
参考链接
CentOS 7 用 yum 安装 Nginx
Nginx负载均衡配置
下载并安装
#使用以下命令
sudo yum install -y nginx
#sudo表示使用管理员权限运行命令
#yum是centos系统中下载安装程序的命令
#如果提示中发现yum资源库中没用Nginx的话,则使用以下命令进行添加
sudo rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
Nginx常用命令
#启动Nginx,使用默认配置文件启动,如果Nginx没有关闭,使用此种方式启动会出现端口被占用的情况
nginx
#停止nginx
nginx -s stop
#如果上面停止nginx的方式无效 可以强制停止
pkill -9 nginx
#重启nginx
nginx -s reload
#由于在Linux下写配置文件,容易丢个符号,导致启动失败,所以启动之前可以检查一下配置文件的正确性
nginx -t
#检查指定配置文件
nginx -t -c /etc/nginx/nginx.conf
配置
安装成功之后,想要使用Nginx必须配置配置文件,默认配置文件的地址(/etc/nginx/nginx.conf)
user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;include /usr/share/nginx/modules/*.conf;events {worker_connections 1024;
}http {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;tcp_nodelay on;keepalive_timeout 65;types_hash_max_size 2048;include /etc/nginx/mime.types;default_type application/octet-stream;include /etc/nginx/conf.d/*.conf;include /etc/nginx/sites-enabled/*;#以上配置均是默认值未曾修改,如果想搞懂上面的是什么意思,自己去慢慢学习吧#这个配置是负载均衡使用的#此处的app_nodejs是负载均衡的名字upstream app_nodejs {#访问的实际地址是下面的,可以有多个,多个时就达到了负载均衡的作用,后面其实还有一个参数,但是此处写不写无区别。server 127.0.0.1:8082;keepalive 64;}server {#监听的是80端口,不建议换成其他端口,因为换成其他端口后,你访问时,域名也得加上加上端口,比如端口号改成8080,访问时则是:onloading.cn:8080listen 80 default;#访问的域名server_name onloading.cn; #如果访问的是ip,则直接返回404,此处只允许通过域名访问if ($host ~ "\d+\.\d+\.\d+\.\d") {return 404;}location / {proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header Host $http_host;proxy_set_header X-Nginx-Proxy true;proxy_set_header Connection "";#指定使用哪个负载均衡,其他location的值均属于默认值proxy_pass http://app_nodejs;proxy_redirect off;}}
}
如果想要进行反向代理设置,需要对http中的server节点进行设置,实现反向代理有两种方式,均是把下面的节点替换掉上面的默认文件的相关节点即可
第一种、使用负载均衡的方式进行反向代理
#app_nodejs名称是为了下面server找到对应的负载均衡
upstream app_nodejs {#访问的实际地址server 127.0.0.1:8082;}server {#监听的是80端口,不建议换成其他端口,因为换成其他端口后,你访问时,域名也得加上加上端口,比如端口号改成8080,访问时则是:onloading.cn:8080listen 80 default;#访问的域名server_name onloading.cn; location / {proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header Host $http_host;proxy_set_header X-Nginx-Proxy true;proxy_set_header Connection "";#指定使用哪个负载均衡,其他location的值均属于默认值,即是上面的upstream的名称proxy_pass http://app_nodejs;proxy_redirect off;}}
第二种、不使用负载均衡,直接定义反向代理的地址
#该种方式不需要使用upstream节点server {#监听的是80端口,不建议换成其他端口,因为换成其他端口后,你访问时,域名也得加上加上端口,比如端口号改成8080,访问时则是:onloading.cn:8080listen 80 default;#访问的域名server_name onloading.cn; location / {proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header Host $http_host;proxy_set_header X-Nginx-Proxy true;proxy_set_header Connection "";#与上面不同的就是,此处指定的是实际访问的地址proxy_pass 127.0.0.1:8082;proxy_redirect off;}}
负载均衡
此处参考链接
#此处的upstream表示平均分配给三台机器
upstream app_nodejs {server 192.168.0.100:8080;server 192.168.0.101:8080;server 192.168.0.101:8080;}server {listen 80 default;#访问的域名server_name onloading.cn; location / {proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header Host $http_host;proxy_set_header X-Nginx-Proxy true;proxy_set_header Connection "";proxy_pass http://app_nodejs;proxy_redirect off;}}
- weight属性,默认为1,表示平均分配给每台机器。
upstream tomcats {server 192.168.0.100:8080 weight=2; # 2/6次server 192.168.0.101:8080 weight=3; # 3/6次server 192.168.0.102:8080 weight=1; # 1/6次
}
- max_fails属性,默认为1,表示服务器失败的最多次数,如果超过该值,表示在fail_timeout时间内请求将不再分配到该服务器上。 如果设置为0,Nginx会将这台Server置为永久无效状态
- fail_timeout属性,默认为10秒,表示服务器的失败无效时长
- backup属性,备份机,所有服务器失效了之后,启用该服务器
- down属性,表示该台服务器无效
upstream tomcats {#表示100服务器的分配比例是2,失败最大次数为3,失败后重新失效时长为15秒server 192.168.0.100:8080 weight=2 max_fails=3 fail_timeout=15;#表示101服务器无效server 192.168.0.101:8080 down;#表示102服务器为备份服务器server 192.168.0.102:8080 backup;
}
- max_conns:表示该服务器的最大连接数量,默认为0,表示不限制。注意:1.5.9之后的版本才有这个配置
upstream tomcats {server 192.168.0.100:8080 max_conns=1000;
}
目前我只用过以上属性,当然Nginx还有很多其他的属性,有兴趣的可以从网上多找找。
centos系统下安装Nginx相关推荐
- Centos 7下安装nginx,使用yum install nginx,提示没有可用的软件包(亲测)
Centos 7下安装nginx,使用yum install nginx,提示没有可用的软件包. 18 (flaskApi) [root@67 flaskDemo]# yum -y install n ...
- 在虚拟机的CentOS系统下安装pycharm的用户须知
在虚拟机的CentOS系统下安装pycharm的用户须知 一般我们在采用CentOS最小安装的时候系统往往不会安装python3,这就使得要自行安装python3以方便我们使用,毕竟python3是目 ...
- windows系统下安装Nginx以及简单使用(详解)
一.背景 Nginx是一个很强大的高性能Web和反向代理服务,也是一种轻量级的Web服务器,可以作为独立的服务器部署网站,应用非常广泛,特别是现在前后端分离的情况下.而在开发过程中,我们常常需要在wi ...
- Linux(CentOS)系统下设置nginx开机自启动
2019独角兽企业重金招聘Python工程师标准>>> Nginx 是一个很强大的高性能Web和 反向代理服务器.下面介绍在linux下安装后,如何设置开机自启动. 首先,在linu ...
- CentOS 7 下安装 Nginx
安装所需环境 Nginx 是 C语言 开发,建议在 Linux 上运行,当然,也可以安装 Windows 版本,本篇则使用 CentOS 7 作为安装环境. 一. gcc 安装 安装 nginx 需要 ...
- CentOS系统下安装Redis图文教程
一.Redis安装 Redis是C语言开发的,安装Redis需要C语言的环境,如果你的linux系统没有安装界面,那么就需要在线安装C语言环境.这里测试使用的系统是CentOS6.4,安装了系统界面. ...
- centos系统下安装mysql
2019独角兽企业重金招聘Python工程师标准>>> 安装环境:系统是 centos6.5 1.下载 下载地址:http://dev.mysql.com/downloads/mys ...
- linux系统下安装nginx,并通过外网访问
https://www.cnblogs.com/xiaowangbangzhu/p/10382359.html https://www.cnblogs.com/yushuizhihuan/p/5901 ...
- jenkins 忘记密码_持续集成工具Jenkins 在CentOS系统下安装
一.Jenkins简介 Jenkins是一个开源的持续集成工具,用于持续.自动的构建.测试.发布项目.Jenkins使用Java开发,可与版本管理工具集成使用. Jenkins支持UI操作来部署流水线 ...
最新文章
- linux安装语言总是waiting,node的serialport在arm的Linux安装血泪史之我太难了
- mysql第四章表单查询样题_查询mysql表单中前10条,然后在li中循环输出。
- java aab全排列_编译原理习题课答案.ppt
- 23种设计模式C++源码与UML实现--责任链模式
- java汽车管理系统_坑爹!花费2亿耗时2年,网站没建完Java都写不好,顶级咨询公司埃森哲被告上法庭...
- 加载gif_搞笑gif:这啥情况啊?笑容加载不出来了?
- 微信这10个牛X的隐藏功能,你知道几个?
- 小程序遵循的语法_我如何构建一个遵循股市针对freeCodeCamp挑战的应用程序。
- 编程之美(The beauty of programming)
- Johnson 算法 洛谷P5905
- 【图像处理】高斯滤波
- Centos7下安装MySQL详细步骤
- Linux 内核 颜色,Linux操作系统内核版的表示方法是( )
- WEB渗透测试之三大漏扫神器
- python中encode用法_Python中encode()方法的使用简介
- 微信团队分享:微信支付代码重构带来的移动端软件架构上的思考
- Python的静态成员变量和非静态成员变量
- java实现.费诺编码_使用递归算法编写的费诺编码
- Android 查看当前应用的线程数是否超限
- java 0l_关于java:[L数组符号-它来自哪里?
热门文章
- sqlserver在linux数据备份,SQLServer数据库之sqlserver for linux自动备份数据库脚本
- 谷歌正在测试一个人工智能系统,帮助视障人士参加跑步比赛
- 综述:NLP中的深度学习优势
- AI综述专栏 | 基于深度学习的目标检测算法综述
- 谷歌发布TensorFlow Privacy​:大幅提升AI模型中的隐私保护
- Hinton:硕士毕业就进企业提不出全新想法,AI好坏取决于社会制度
- 搜狗CEO王小川:AI领域存在泡沫 但留下的是珍珠
- 免费教材丨第55期:Python机器学习实践指南、Tensorflow 实战Google深度学习框架
- torch.full()简介
- pycharm如何执行高级撤销操作回到历史