零、本文纲要
- 一、Nginx概述
- Nginx简单介绍
- Nginx下载和安装
- 二、Nginx命令
- 查看版本
- 检查配置文件正确性
- 启动和停止
- 重新加载配置文件
- 配置系统环境变量
- 三、Nginx配置文件结构
- 配置文件分块
- 四、Nginx具体应用
- 部署静态资源
- 反向代理
- 负载均衡
一、Nginx概述
1. Nginx简单介绍
Nginx是一款轻量级Web服务器/反向代理服务器,及电子邮件(IMAP/POP3)代理服务器。
其特点是占有内存少,并发能力强。
Nginx官方网址
2. Nginx下载和安装
- ① 安装依赖包
命令:yum -y install gcc pcre-devel zlib-devel openssl openssl-devel
- ② 下载Nginx并上传至Linux
在Linux系统上直接下载,先安装wget工具,yum install wget
命令:wget https://nginx.org/download/nginx-1.16.1.tar.gz
- ③ 解压Nginx
命令:tar -zxvf nginx-1.16.1.tar.gz
- ④ 进入Nginx目录
命令:cd nginx-1.16.1
- ⑤ 使用configure指令进行安装前检查
先创建一个安装目录:mkdir -p /usr/local/nginx
命令:./configure --prefix=/usr/local/nginx
--prefix指定安装目录位置
- ⑥ 编译与安装
命令:make && make install
make
:编译
make install
:安装
- ⑦ 进入nginx目录检查安装情况
命令:cd /usr/local/nginx
命令:yum install tree
命令:tree
├── conf # 存放配置文件
│ ├── fastcgi.conf
│ ├── fastcgi.conf.default
│ ├── fastcgi_params
│ ├── fastcgi_params.default
│ ├── koi-utf
│ ├── koi-win
│ ├── mime.types
│ ├── mime.types.default
│ ├── nginx.conf # nginx配置文件
│ ├── nginx.conf.default
│ ├── scgi_params
│ ├── scgi_params.default
│ ├── uwsgi_params
│ ├── uwsgi_params.default
│ └── win-utf
├── html # 存放静态文件(html、CSS、Js等)
│ ├── 50x.html
│ └── index.html
├── logs # 日志目录,存放日志文件
└── sbin
└── nginx # 二进制文件,用于启动、停止Nginx服务
二、Nginx命令
1. 查看版本
先进入/usr/loacl/nginx/sbin目录
命令:./nginx -v
2. 检查配置文件正确性
命令:./nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
3. 启动和停止
命令:./nginx
启动
注意:./是表示相对路径,也可以使用绝对路径启动:/usr/local/nginx/sbin/nginx
启动成功后,可以尝试访问:http://192.168.253.128:80/,默认端口号80
命令:./nginx -s stop
停止
查看进程状态
命令:ps -ef | grep nginx
4. 重新加载配置文件
修改配置文件后,重新加载使其生效
命令:./nginx -s reload
5. 配置系统环境变量
命令:vim /etc/profile
PATH=/usr/local/nginx/sbin:$JAVA_HOME/bin:$PATH
注意:多个PATH配置之间使用":"隔开
命令:source /etc/profile
重加载,使得配置生效
三、Nginx配置文件结构
1. 配置文件分块
- ① 全局块
和Nginx运行相关的全局配置
如:worker_processes 1;
- ② events块
和网络连接相关的配置
events{
... ...
}
- ③ http块
代理、缓存、日志记录、虚拟主机配置
Ⅰ http全局块
Ⅱ server块(server全局块、location块)
http{
include mime.types;
... ...
server{
listen 80;
server_name localhost;
location / {
... ...
}
}
}
注意:http块中可以配置多个server块,每个server块中可以配置多个location块
四、Nginx具体应用
1. 部署静态资源
- ① 静态资源
如:html页面、css文件、js文件、图片、视频等
- ② 配置server块
server {
listen 80; # 监听端口
server_name localhost; # 服务器名称
location / { # 匹配客户端请求url
root html; # 指定静态资源根目录
index index.html; # 指定默认首页
}
}
2. 反向代理
- ① 正向代理
客户端通过代理获取原始服务器的数据,一般用途是为在防火墙内的局域网提供访问Internet的途径。
正向代理一般是在客户端设置代理服务器,通过代理服务器转发请求,最终访问到目标服务器。
- ② 反向代理
反向代理服务器负责将请求转发给目标服务器,用户不需要知道目标服务器的地址,也无需在用户端做任何设置。
反向代理一般是服务器端设置,客户端只需负责请求反向代理服务器即可。
- ③ 配置反向代理
假定:
当前nginx服务器地址:192.168.138.128
web服务器地址:192.168.138.130,端口号:8080
server {
listen 80;
server_name localhost;
location / {
proxy_pass http://192.168.138.130:8080; # 反向代理配置,请求转发到指定服务
}
}
3. 负载均衡
- ① 配置负载均衡
upstream targetserver{ # 此处targetserver名称任意,与下方一致即可
server 192.168.138.128:8080;
server 192.168.138.130:8081;
}
server{
listen 80;
server_name localhost;
location / {
proxy_pass http://targetserver;
}
}
- ② 负载均衡策略
名称 | 说明 |
---|---|
轮询 | 默认 |
weight | 权重 |
ip_hash | 依据ip分配 |
least_conn | 依据最少连接 |
url_hash | 依据url分配 |
fair | 依据响应时间 |
如果配置weight,如下:
upstream targetserver{
server 192.168.138.128:8080 weight=10;
server 192.168.138.130:8081 weight=5;
}
这样配置,则访问时系统会大致按照10:5的比例分配请求。
五、结尾
以上即为Nginx-使用入门的全部内容,感谢阅读。
网友评论