centos系统下安装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:8080
listen 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:8080
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 "";
#指定使用哪个负载均衡,其他location的值均属于默认值,即是上面的upstream的名称
proxy_pass http://app_nodejs;
proxy_redirect off;
}
}
第二种、不使用负载均衡,直接定义反向代理的地址
#该种方式不需要使用upstream节点
server {
#监听的是80端口,不建议换成其他端口,因为换成其他端口后,你访问时,域名也得加上加上端口,比如端口号改成8080,访问时则是:onloading.cn:8080
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 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 ...
- Linux(CentOS)系统下安装好apache(httpd)服务后,其他电脑无法访问的原因
原文:Linux(CentOS)系统下安装好apache(httpd)服务后,其他电脑无法访问的原因 今天试了下在虚拟机上利用CentOS系统的yum命令安装好了httpd(apache2.4.6), ...
- CentOS系统下安装python3+Django
转载:CentOS系统下安装python3+Django 1.首先用yum安装下vim,因为CentOS 7可能根本没自带完整vim,经常出现输入乱码:yum -y install vim 2.安装开 ...
- 在centos 7 下安装 nginx
在Linux下安装 nginx 1下载对应当前系统版本的nginx包(package) wget http://nginx.org/packages/centos/7/noarch/RPMS/ngi ...
- centos 系统下安装FastDFS+nginx+fastdfs-nginx-module安装配置
前言: 以前的项目上传的文件都是保存到本地或者是局域网内的共享文件夹下,由于数据量,服务器的负载均衡(分机的某些图片无法访问的问题处理)等因素的情况下,就想到用fastdfs来文件管理,花了几天时间硬 ...
- centos系统编译安装nginx+php环境另加独立mysql教程
以前看过的安装nginx+php环境都带了mysql数据库了,这个是因为很多站长都是nginx+php+mysql都在同一台服务器了,那么今天我们是单独处理了,一个是nginx+php环境,然后mys ...
- Linux(CentOS)系统下设置nginx开机自启动
Nginx 是一个很强大的高性能Web和反向代理服务器.下面介绍在linux下安装后,如何设置开机自启动.首先,在linux系统的/etc/init.d/目录下创建nginx文件,使用如下命令:vi ...
- CentOS 7 下安装 Nginx
安装所需环境 Nginx 是 C语言 开发,建议在 Linux 上运行,当然,也可以安装 Windows 版本,本篇则使用 CentOS 7 作为安装环境. 一. gcc 安装安装 nginx 需要先 ...
- CentOS 7 下安装 Nginx(转)
转载自:http://www.linuxidc.com/Linux/2016-09/134907.htm 安装所需环境 Nginx 是 C语言 开发,建议在 Linux 上运行,当然,也可以安装 Wi ...
随机推荐
- 【实例分割】PANet简单笔记
PANet是18年的一篇CVPR,作者来自港中文,北大,商汤与腾讯优图,PANET可看作Mask-RCNN+,是在Mask-RCNN基础上做的几处改进. 论文地址:https://arxiv.org/ ...
- 江西财经大学第一届程序设计竞赛 D
链接:https://www.nowcoder.com/acm/contest/115/D来源:牛客网 题目描述 事情,是这样的. 有这么一天双休日的中午. 我刚把我衣服扔进了洗衣机,然后拿了个小板凳 ...
- hdu2063 最大二分匹配(匈牙利算法)
过山车 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submiss ...
- Socket 代码收藏
class SocketHelper { public delegate void Uplistbox(string txt); public Uplistbox u ...
- Photoshop入门教程(二):暂存盘设置与标尺设置
新建文档之后大家就可以对图像进行编辑.在对图像进行编辑之前,先来了解一下如何查看图像的一些基本信息.在软件左下角,会有这样的信息显示窗口. 1窗口表示当前图像显示比例,200%代表当前为放大两倍显示. ...
- 基于wireshark抓包分析TCP的三次握手
1. TCP的三次握手 在TCP/IP协议通讯过程中,采用三次握手建立连接,从而保证连接的安全可靠. 所有基于TCP的通信都需要以两台主机的握手开始.这个握手过程主要是希望能达到以下不同的目的.[1] ...
- Jenkins安全配置详解
一.进入安全配置界面 首页后点击进入系统管理(Manage Jenkins) ——下拉下方看到安全配置(Configure Global Security) ——进入安全配置界面 二,详解安全配置的选 ...
- thinkPHP5.0表单令牌使用
表单令牌的作用:避免表单的重复提交(如在tp5提交成功等待跳转页面刷新页面会在次提交表单) 原理:在初始化表单时,生成一个session标识‘token’,提交表单时将这个token一起提交过去,然后 ...
- my.资料
领回梦丹 http://ka.gamedog.cn/card/2036517.html 1. 普陀的加点没有优点缺点之分,只有是否和你的装备般配.这里可以给一些小数据参考. 60级物理防御达到900, ...
- Unity GameObject.FindObjectOfType<>(); 按类型查找游戏对象
FindObjectOfType<>() 是按类型查找游戏对象.<>里面填写类型,那要是有多个这种类型的呢?来试一下. 1. 新建一个场景,新建一个Test.cs脚本,内容 ...