Centos7下Nginx的安装与配置

一、安装

1、下载

nginx官网下载地址,下载nginx-1.20.2.tar.gz,并将其上传至centos,我这里上传到了/usr/local/src/目录下

2、解压

cd /usr/local/src/
tar -zxvf nginx-1.20.2.tar.gz

解压后,会多个nginx-1.20.2目录

3、依赖安装

# 依赖yum安装
yum install -y openssl-devel pcre-devel gcc

4、Nginx编译安装

# 切换到nginx-1.20.2目录
cd nginx-1.20.2/# 预编译,默认安装位置/usr/local/nginx
./configure# 安装
make & make install# 安装默认位置为/usr/local/nginx

5、启动

# 切换到sbin目录
cd /usr/local/nginx/sbin# 执行
./nginx# ----------其他命令-------------
# 停止
./nginx -s stop
# 退出
./nginx -s quit
# 重启
./nginx -s reload
# ----------其他命令-------------

6、访问

默认80端口,浏览器访问http://你的ip,如果出现**Welcome to nginx!**字样,则恭喜你,Nginx基本的安装已经完成。

接下来我们解决几个小问题 开机自启动任意位置执行nginx命令

优化一、开机自启动

# 修改
vi /etc/rc.local# 追加一行,保存退出
/usr/local/nginx/sbin/nginx# 添加执行权限
cd /etc
chmod 755 rc.local

重启尝试浏览器访问nginx,如果出现**Welcome to nginx!**字样,则恭喜你,开机自启动好了哦。

优化二、任意位置执行nginx命令

默认启停需要到nginx的sbin目录,或者带完整目录,这样有点麻烦哦,我们配下环境变量,直接nginx即可

# 编辑
vi /etc/profile# 文末追加环境变量,保存退出
export NGINX_HOME=/usr/local/nginx/sbin
export PATH=$NGINX_HOME:$PATH# 执行如下命令,让环境变量生效
source /etc/profile# 尝试如下命令,试试是否成功即可
nginx -s stop
nginx
nginx -s reload

二、配置文件

nginx.conf配置文件在/usr/local/nginx/conf下,配置属性说明如下

# 指定nginx运行用户
#user  nobody;
# 工作进程个数
worker_processes  1;                            # 错误日志
#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;# 进程号
#pid        logs/nginx.pid;                     events {# 指定当前一个Worker进程同时可以接受的最大连接数worker_connections  1024;
}http {# 引用文件类容include       mime.types;    # 访问Nginx无法访问的内容,触发下载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  logs/access.log  main;# 开启传输文件sendfile        on;#tcp_nopush     on;# 当建立TCP连接后,多长时间无动作自动断开#keepalive_timeout  0;keepalive_timeout  65;# 开启压缩#gzip  on;server {# 端口号listen       80;# 服务名称server_name  localhost;# 字符集#charset koi8-r;#access_log  logs/host.access.log  main;# 静态资源location / {# 静态资源根目录root   html;# 静态资源默认访问文件index  index.html index.htm;}#error_page  404              /404.html;# redirect server error pages to the static page /50x.html#error_page   500 502 503 504  /50x.html;location = /50x.html {root   html;}}
}

四、常用功能

1、静态网站代理

server {listen 80;server_name www.xxx.com;root /html/test;index index.html;
}

2、反向代理

server {listen 80;server_name localhostlocation / {proxy_pass http://192.168.5.6:12301/;   # 注意斜杠proxy_set_header HOST $host;            # 在代理过程中添加host头部信息proxy_http_version 1.1;                 # http版本配置,1.0 版本不支持长连接}
}

3、多配置文件管理

如果所有项目配置都在nginx.conf中配置,则会导致nginx.conf配置文件过于臃肿,可以按项目写配置文件,并导入主配置文件

http {# ***include [conf下自定义的目录]/*.conf;# ***
}

自定义目录下放着所有server.conf,如:

server {listen       80;server_name  localhost;#charset koi8-r;#access_log  logs/host.access.log  main;#location / {#    root   html;#    index  index.html index.htm;#}location / {proxy_pass http://192.168.5.6:12301;proxy_set_header HOST $host;            # 在代理过程中添加host头部信息proxy_http_version 1.1;                 # http版本配置,1.0 版本不支持长连接}#error_page  404              /404.html;# redirect server error pages to the static page /50x.html#error_page   500 502 503 504  /50x.html;location = /50x.html {root   html;}
}

4、一个端口代理多个项目

server {listen       80;server_name  localhost;#charset koi8-r;#access_log  logs/host.access.log  main;location / {root   html;index  index.html index.htm;}location /demo1/ {proxy_pass http://192.168.5.6:12301/;proxy_set_header HOST $host;            # 在代理过程中添加host头部信息proxy_http_version 1.1;                 # http版本配置,1.0 版本不支持长连接}location /demo2/ {proxy_pass http://192.168.5.6:12302/;proxy_set_header HOST $host;            # 在代理过程中添加host头部信息proxy_http_version 1.1;                 # http版本配置,1.0 版本不支持长连接}#error_page  404              /404.html;# redirect server error pages to the static page /50x.htmlerror_page   500 502 503 504  /50x.html;location = /50x.html {root   html;}
}

5、负载均衡

  • 简单示例

    upstream us_demo {server 192.168.5.6:12301 weight=3;server 192.168.5.6:12302 weight=1;
    }server {# *** #location /demo/ {proxy_pass http://us_demo/;proxy_set_header HOST $host;            # 在代理过程中添加host头部信息proxy_http_version 1.1;                 # http版本配置,1.0 版本不支持长连接}## ***
    }
    
  • 负载均衡的几种方式

    # 负载均衡方式一:轮询。每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除
    upstream us_demo {server 192.168.5.6:12301;server 192.168.5.6:12302;
    }# 负载均衡方式二:权重。指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况
    upstream us_demo {server 192.168.5.6:12301 weight=3;server 192.168.5.6:12302 weight=1;
    }# 负载均衡方式三:ip_hash。每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题
    upstream us_demo {ip_hash;server 192.168.5.6:12301;server 192.168.5.6:12302;
    }# 负载均衡方式四:fair(第三方)。按后端服务器的响应时间来分配请求,响应时间短的优先分配
    upstream us_demo {server 192.168.5.6:12301;server 192.168.5.6:12302;fair;
    }# 负载均衡方式五:url_hash(第三方)。按访问url的hash结果来分配请求,使每个url定向到同一个后端服务器,后端服务器为缓存时比较有效
    upstream us_demo {server 192.168.5.6:12301;server 192.168.5.6:12302;  hash $request_uri;  hash_method crc32;
    }
    
  • 负载均衡 server后缀状态说明

    # 1.down 表示单前的server暂时不参与负载
    # 2.weight 默认为1.weight越大,负载的权重就越大。
    # 3.max_fails :允许请求失败的次数默认为1.当超过最大次数时,返回proxy_next_upstream 模块定义的错误
    # 4.fail_timeout:max_fails次失败后,暂停的时间。
    # 5.backup: 其它所有的非backup机器down或者忙的时候,请求backup机器。所以这台机器压力会最轻。
    upstream bakend{server 192.168.5.6:12301 down;server 192.168.5.6:12302 weight=2; server 192.168.5.6:12303 max_fails=3; server 192.168.5.6:12304 fail_timeout=1000; server 192.168.5.6:12305; server 192.168.5.6:12306 backup;
    }
    

Centos7下Nginx的安装与配置相关推荐

  1. Centos7下 Redis的安装、配置开机自启动、开放远程连接

    一.Centos7下 Redis的安装: 1.下载安装包: wget http://download.redis.io/releases/redis-4.0.2.tar.gz 2.解压安装包并安装: ...

  2. CentOS7.9下nginx的安装与配置(实现任意目录下均可直接执行 nginx 命令,以及开机自启动)

    目录 1.​​​​​​Nginx介绍 2.Nginx和apache的优缺点 2.1nginx相对于apache的优点: 2.2apache 相对于nginx 的优点: 3.Tengine介绍 3.1t ...

  3. Linux下Nginx的安装和配置

    Linux下Nginx的nginx.conf配置文件内容: #user  nobody; worker_processes  1; #error_log  logs/error.log; #error ...

  4. 奥塔在线:Centos7下Nginx的安装

    Nginx的安装有两种方式,一种是通过Tar包进行源码安装,一种是通过yum进行安装.下面分别就两种安装方式进行简单的描述: 一.通过Tar源码安装 #新建www组 和 www用户  并将www用户添 ...

  5. 【华为云技术分享】关于Linux下Nginx的安装及配置

    Nginx (engine x) 是一个高性能的HTTP和反向代理服务,也是一个IMAP/POP3/SMTP服务.其他信息请自行百度. 下面介绍一下,在CentOS7.4 的环境下,安装nginx-1 ...

  6. CentOS7下Samba的安装与配置

    一.Samba简介 Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成.SMB(Server Messages Block,信息服务块)是一种在局域网上共享 ...

  7. linux nginx F配置,linux下nginx的安装及配置

    1.安装nginx前,咱们首先要确保系统安装了g++.gcc.openssl-devel.pcre-devel和zlib-devel软件,可经过如图所示命令进行检测,若是以安装咱们能够经过图二所示卸载 ...

  8. Win7下Nginx的安装与配置,win7nginx配置

    https://jingyan.baidu.com/article/6f2f55a1a112cdb5b83e6c62.html 1. 下载nginx1.8.0版本: http://nginx.org/ ...

  9. linux mount 默认端口,CentOS7下NFS服务安装及配置固定端口

    系统环境:CentOS Linux release 7.4.1708 (Core) 3.10.0-693.el7.x86_64 软件版本:nfs-utils-1.3.0-0.48.el7_4.x86_ ...

最新文章

  1. 最近ES遇到discover老是失败问题,ping主节点和node节点正常,抓包发现了大量的retransmission、tcp out of order、dup ack问题。...
  2. Imc连环画《红楼梦》
  3. 如何从Fiori launchpad发出的请求判断出后台是哪个网关系统在响应
  4. 线性单链表存储结构c语言代码,单链表定义-(线性表的链表存储结构)
  5. 英语口语-文章朗读Week9 TuesDay
  6. OC 中 load 方法和 initialize 方法的异同
  7. PyCharm中Scrapy的安装
  8. 途家民宿4月26日后停止20城直营业务
  9. 淘宝直播应关注哪些方面?
  10. C语言班主任管家系统
  11. git 找到冲突_git怎么知道哪个文件冲突
  12. 【Python-神经网络】
  13. 程序员有趣的面试智力题
  14. PS:给图片添加方格
  15. 如何将Python文件.py打包成.exe可执行程序(最简教程吗)
  16. 2020年开发踩坑记录
  17. 中兴跳楼程序员妻子:他们就这样把我老公逼死了
  18. PF_RING 6.0.2在Redhat 6.3 x86_64上编译和安装
  19. Python 全栈系列89 - python 发微博文字+图片
  20. DX-11Q信号继电器

热门文章

  1. JavaScript ,控制台 console 多种不同类型输出
  2. 实现动态添加行数据,并且表格显示,然后批量入库
  3. 运行清理桌面向导菜单
  4. CentOS 挂载硬盘后服务器无法正常启动
  5. java中线程安全的集合_Java中哪些集合类是线程安全的?
  6. 学而思的python课怎么样_学而思怎么样?做功课的家长们来看看吧~
  7. 写文章的软件-免费写文章的软件
  8. IOI车机系统刷机和改包笔记
  9. python常用加密算法_python 三个常用加密 base64,md5,sha1
  10. python实现微信hmac_sha256和md5加密签名