下载nginx
上传并解压nginx
tar -zxvf nginx-1.8.1.tar.gz -C /usr/local/src
编译nginx
进入到nginx源码目录
cd /usr/local/src/nginx-1.8.1
检查安装环境,并指定将来要安装的路径
./configure --prefix=/usr/local/nginx
缺包报错
./configure: error: C compiler cc is not found
使用YUM安装缺少的包
yum -y install gcc pcre-devel openssl openssl-devel
编译安装
make && make install /usr/local/src/nginx-1.8.1
安装完后测试是否正常:
/usr/local/nginx/sbin/nginx --启动进程
查看端口是否有ngnix进程监听
netstat -ntlp | grep 80
配置nginx
配置反向代理
修改nginx配置文件
server {
listen 80;
server_name nginx-01.itcast.cn; #nginx所在服务器的主机名
#反向代理的配置
location / { #拦截所有请求
root html;
proxy_pass [http://192.168.0.21:8080;](http://192.168.0.21:8080;) #这里是代理走向的目标服务器:tomcat
}
}
启动nginx-01上的nginx
./nginx
重启:
kill -HUP `cat /usr/local/nginx/logs/nginx.pid `
nginx 服务器重启命令,关闭
cd usr/local/nginx/sbin
./nginx 启动
./nginx -t 判断配置文件是否正确
./nginx -s reload 修改配置后重新加载生效
./nginx -s reopen 重新打开日志文件
nginx -t -c /path/to/nginx.conf 测试nginx配置文件是否正确
./nginx -s stop 关闭nginx :
./nginx quit 快速停止
ps -ef | grep nginx 完整有序的停止nginx
其他的停止nginx 方式
kill -QUIT 主进程号 从容停止Nginx
kill -TERM 主进程号 快速停止Nginx
pkill -9 nginx 强制停止Nginx
nginx -c /path/to/nginx.conf 启动nginx
kill -HUP 主进程号 平滑重启nginx
动静分离
动态资源 index.jsp
location ~ .*\.(jsp|do|action)$ {
proxy_pass http://tomcat-01.itcast.cn:8080;
}
静态资源
location ~ .*\.(html|js|css|gif|jpg|jpeg|png)$ {
expires 3d;
}
负载均衡
在http这个节下面配置一个叫upstream的,后面的名字可以随意取,但是要和location下的proxy_pass http://后的保持一致。
http {
是在http里面的, 已有http, 不是在server里,在server外面
upstream tomcats {
server shizhan02:8080 weight=1;#weight表示多少个
server shizhan03:8080 weight=1;
server shizhan04:8080 weight=1;
}
#卸载server里
location ~ .*\.(jsp|do|action) {
proxy_pass [http://tomcats;](http://tomcats;) #tomcats是后面的tomcat服务器组的逻辑组号
}
}