nginx的安装
在这里首先介绍一种源码的方式安装Nginx,通过这种安装方式我们可以在编译前进行自定义配置,然后编译出我们自己想要的Nginx。比如增加对Https协议的支持、Nginx安装路径等。
1、下载并解压
下载命令(Ubuntu):
wget http://nginx.org/download/nginx-1.14.2.tar.gz
2、编译前的配置
进入Nginx的解压目录,我们能看到configure这个文件,在命令行下运行./configure --help
我们能够看到一些配置参数的介绍。在这里我们首先指定Nginx安装位置的参数:
./configure --prefix=/home/ubuntu/nginx
执行完成后我们可以看到在当前目录多了一个objs的文件夹,这个里面存放是的中间文件
3、编译
执行make
命令进行编译,编译完成后objs目录下会生成大量的中间文件(src目录)以及可执行目标文件nginx(此文件可进行后期升级).
4、安装
make install
此时我们可以到指定的安装目录查看nginx各种安装文件
5、Nginx的命令行
- 格式:Nginx -s reload
- 帮助:-?-h
- 使用指定的配置文件:-c
- 指定配置指令:-g
- 指定运行目录:-p
- 发送信号:-s(stop、quit、reload、reopen)
- 测试配置文件是否有语法错误:-t
- 打印Nginx的版本信息:-v
stop:是立即停止服务
quit:优雅的停止服务
reload:重载配置文件
reopen:重新开始记录日志文件
Nginx配置反向代理
1、配置反向代理到一台服务器
server {
listen 80; #监听端口
server_name 127.0.0.1;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
proxy_pass http://127.0.0.1:8080; #配置路径
root html;
index index.html index.htm;
}
2、根据路径反向代理到两台服务器
例如:
访问 http://127.0.0.1:9001/edu 直接跳转到127.0.0.1:8080
访问 http://127.0.0.1:9001/vod 直接跳转到127.0.0.1:8081
server {
listen 9000;
server_name 127.0.0.1;
location ~ /edu/ {
proxy_pass http://127.0.0.1:8080;
root html;
index index.html index.htm;
}
location ~ /vod/ {
proxy_pass http://127.0.0.1:9080;
root html;
index index.html index.htm;
}
}
为了验证成功
我们可以在8080Tomcat的webapp目录下新建edu目录,然后新建一个index.html
然后在9080Tomcat的webapp目录下新建vod目录,然后新建一个index.html
在浏览器端输入:http://localhost:9000/edu/
,http://localhost:9000/vod/
Nginx配置负载均衡
upstream myserver{
server 127.0.0.1:8080 weight=10;
server 127.0.0.1:9080 weight=10;
}
server {
listen 80;
server_name 127.0.0.1;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
proxy_pass http://myserver;
root html;
index index.html index.htm;
}
}
Nginx配置动静分离
什么是动静分离?在web请求中我们可以把请求分为动态的与静态的,我们可以理解为需要Tomcat处理的称之为动态请求,比如说是一个一个的servlet,还有的是不需要Tomcat进行额外处理的比如说html、css、js等,这些可以理解为静态请求。我们可以将这些请求分开来处理,让Tomcat专注于处理动态请求,让nginx来处理静态请求,这样也能减少Tomcat服务器的压力,同时还能够加速页面访问。
Nginx搭建静态资源服务器
进入Nginx的安装目录,打开conf
文件下的nginx.conf文件,配置信息如下:
location /www/ {
root D:/data/;
index index.html index.htm;
}
location /image/ {
root D:/data/; # 此处如果是Tomcat场景可将资源指向webapp静态资源目录下
autoindex on;
}
gzip配置
gzip能够加快网站的访问速度,减少在网络上的传输
nginx.conf加入gzip配置代码,更多关于gzip配置参考官网gzip配置项:
gzip on; #打开或者关闭
gzip_min_length 1; #最小压缩长度
gzip_comp_level 2; #压缩级别