Centos7下Nginx的安装与配置
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的安装与配置相关推荐
- Centos7下 Redis的安装、配置开机自启动、开放远程连接
一.Centos7下 Redis的安装: 1.下载安装包: wget http://download.redis.io/releases/redis-4.0.2.tar.gz 2.解压安装包并安装: ...
- CentOS7.9下nginx的安装与配置(实现任意目录下均可直接执行 nginx 命令,以及开机自启动)
目录 1.Nginx介绍 2.Nginx和apache的优缺点 2.1nginx相对于apache的优点: 2.2apache 相对于nginx 的优点: 3.Tengine介绍 3.1t ...
- Linux下Nginx的安装和配置
Linux下Nginx的nginx.conf配置文件内容: #user nobody; worker_processes 1; #error_log logs/error.log; #error ...
- 奥塔在线:Centos7下Nginx的安装
Nginx的安装有两种方式,一种是通过Tar包进行源码安装,一种是通过yum进行安装.下面分别就两种安装方式进行简单的描述: 一.通过Tar源码安装 #新建www组 和 www用户 并将www用户添 ...
- 【华为云技术分享】关于Linux下Nginx的安装及配置
Nginx (engine x) 是一个高性能的HTTP和反向代理服务,也是一个IMAP/POP3/SMTP服务.其他信息请自行百度. 下面介绍一下,在CentOS7.4 的环境下,安装nginx-1 ...
- CentOS7下Samba的安装与配置
一.Samba简介 Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成.SMB(Server Messages Block,信息服务块)是一种在局域网上共享 ...
- linux nginx F配置,linux下nginx的安装及配置
1.安装nginx前,咱们首先要确保系统安装了g++.gcc.openssl-devel.pcre-devel和zlib-devel软件,可经过如图所示命令进行检测,若是以安装咱们能够经过图二所示卸载 ...
- Win7下Nginx的安装与配置,win7nginx配置
https://jingyan.baidu.com/article/6f2f55a1a112cdb5b83e6c62.html 1. 下载nginx1.8.0版本: http://nginx.org/ ...
- 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_ ...
最新文章
- 最近ES遇到discover老是失败问题,ping主节点和node节点正常,抓包发现了大量的retransmission、tcp out of order、dup ack问题。...
- Imc连环画《红楼梦》
- 如何从Fiori launchpad发出的请求判断出后台是哪个网关系统在响应
- 线性单链表存储结构c语言代码,单链表定义-(线性表的链表存储结构)
- 英语口语-文章朗读Week9 TuesDay
- OC 中 load 方法和 initialize 方法的异同
- PyCharm中Scrapy的安装
- 途家民宿4月26日后停止20城直营业务
- 淘宝直播应关注哪些方面?
- C语言班主任管家系统
- git 找到冲突_git怎么知道哪个文件冲突
- 【Python-神经网络】
- 程序员有趣的面试智力题
- PS:给图片添加方格
- 如何将Python文件.py打包成.exe可执行程序(最简教程吗)
- 2020年开发踩坑记录
- 中兴跳楼程序员妻子:他们就这样把我老公逼死了
- PF_RING 6.0.2在Redhat 6.3 x86_64上编译和安装
- Python 全栈系列89 - python 发微博文字+图片
- DX-11Q信号继电器
热门文章
- JavaScript ,控制台 console 多种不同类型输出
- 实现动态添加行数据,并且表格显示,然后批量入库
- 运行清理桌面向导菜单
- CentOS 挂载硬盘后服务器无法正常启动
- java中线程安全的集合_Java中哪些集合类是线程安全的?
- 学而思的python课怎么样_学而思怎么样?做功课的家长们来看看吧~
- 写文章的软件-免费写文章的软件
- IOI车机系统刷机和改包笔记
- python常用加密算法_python 三个常用加密 base64,md5,sha1
- python实现微信hmac_sha256和md5加密签名