Nginx初识
功能
- 反向代理
- 负载均衡
- 动静分离(静态资源在jar包中分离)
Nginx安装(Windows)
-
下载地址 (这里以1.18.0为例)
下载完成后直接解压就可以使用 -
解压后的目录
-
启动文件后, 在本地访问 localhost, 看到如下画面表示安装成功
Nginx安装(Linux)
Linux为中间那个, 没有标注Linux
- 下载地址 (这里以1.18.0为例)
- 通过工具将下载好的包上传到Linux服务器
- 定位到压缩包位置后, 使用
tar -zxvf nginx-1.18.0.tar.gz
解压压缩包 - 定位到解压后的文件夹
- 配置 :
./configure
- 编译 :
make
- 安装 :
make install
Nginx常用命令
首先定位到sbin位置
- 启动 :
./nginx
- 停止 :
./nginx -s stop
- 安全退出 :
./nginx -s quit
- 重新加载配置文件 :
./nginx -s reload
(每次修改完配置文件后需重新加载才能生效) - 查看nginx进程 :
ps aux|grep nginx
修改nginx端口号
- 定位到conf文件夹
vim nginx.conf
- 修改完后
esc
退出编辑模式, 然后:qw
保存文件 - 保存后定位到sbin文件夹
- 重新加载nginx配置文件
./nginx -s reload
- 如果没有提示则启动成功, 如果出现了
nginx: [error] open() "/usr/local/nginx/logs/nginx.pid" failed (2: No such file or directory)
则尝试使用/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
(原因可能不尽相同, 我的通过这个解决的),然后再reload - 配置完成后在浏览器访问 ip:端口号 ,如果出现下方界面,说明配置成功(成功画面与Windows相同)
- 如果启动成功了,但是还是无法通过浏览器访问, 则需要检查一下防火墙设置
– 1. 如果是阿里云等需要检查阿里的防火墙是否开启了设置的端口号
– 2. 之后检查服务器的防火墙是否开启了配置的端口号firewall-cmd --list-ports
– 3. 之后在服务器firewall-cmd --zone=public --add-port=配置的端口号/tcp --permanent
(命令含义: --zone #作用域 --add-port=80/tcp #添加端口,格式为:端口/通讯协议 --permanent #永久生效,没有此参数重启后失效)
– 4. 重启服务器防火墙firewall-cmd --reload
– 5. 之后可以再去服务器看看时候可以访问, 或者在此之前先检查下防火墙配置的端口号是否开启成功firewall-cmd --list-ports
nginx配置使用(反向代理和负载均衡)
- conf 文件说明
- 全局配置
- 线程数
- 代理配置(要代理的服务、负载均衡等)
- http部分文件配置
upstream xxx
(要代理的服务器)负载均衡配置upstream xxx{ server localhost:8080 weight=1; server localhost:8081 weight=2; }
xxx
:代理后的名称, 下面配置需要用到,自定义
server
: 服务器的地址端口
weight
: 访问的权重,数越大访问的频率越高server
代理的端口号server { listen : 80; server_name : localhost location / { root http; index index.html index.htm; proxy_pass http://xxx; } }
listen
:代理后访问的同一端口号
location /
: 访问的路径 “/” 就是根路径
proxy_pass
: 代理的服务,xxx
和上面的xxx
一致
nginx配置使用(静态资源访问)
server { #这里是我自己配置服务端口
listen 8085;
server_name resouce;
root E:/image; #访问文件根目录
autoindex on; #是否浏览文件下的列表
location / { #是否允许跨域
add_header Access-Control-Allow-Origin *;
}
add_header Cache-Control "no-cache,must-revalidate";# 是否缓存
}