http://nginx.org/en/linux_packages.html#stable
1. 创建 nginx 的 yum 源文件
touch /etc/yum.repos.d/nginx.repo
2. 添加如下内容:
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=0
enabled=1
3. 使用 yum 安装 nginx
yum install -y nginx
4. 关闭 SELinux
vi /etc/sysconfig/selinux
修改第 7 行为:SELINUX=disabled
需要重启才能生效:reboot
5. nginx 命令:
systemctl start nginx
systemctl stop nginx
systemctl status nginx
systemctl restart nginx
nginx 已经是大中型项目的标配了,主要功能如下:
1. 反向代理,可以作为服务器集群的统一入口
2. 实现负载均衡
3. 动静分离
反向代理的实现:
/etc/nginx/conf.d 是 nginx 配置文件的存储位置
default.conf 是默认配置,也是一个模板
1. 进入 /etc/nginx/conf.d 文件夹
2. 创建 cloud_disk(项目名).conf 文件,进行自定义配置
# 配置服务器集群
upstream zcd(集群名)
{
server 192.168.7.230:8080;
server 192.168.7.59:8080;
server 192.168.7.61:8080;
}
server
{
# 反向代理服务器监听 master 的 80 端口收到的请求
listen 80;
server_name 192.168.7.230;
# 监听的到 /zy_cloud_disk/xxx 请求
# 转发给 http://zy_cloud_disk/zcd/xxx 进行处理
location /zy_cloud_disk {
proxy_pass http://zcd/zcd;
proxy_cookie_path /zcd /zy_cloud_disk;
}
}
3. 重启 nginx 使配置生效
4. 在浏览器使用 http://master/zy_clooud_disk/index.html 访问网站
5. 修改 baseURL 为 nginx 的地址,重新打包
6. 分别上传到 3 个 tomcat 的 webapps 中
7. 启动 3 个 tomcat,不能创建文件夹,上传文件
只启动 1 个 tomcat,正常使用
nginx的使用特点:
负载均衡:
自带 3 种方案:
1. 轮询:默认,轮流处理请求
2. 权重:自定义处理请求的个数
3. iphash:同一个 ip 的请求交给同一个服务器处理
第三方 2 种方案:
1. urlhash:同一个 url 交给同一个服务器处理
2. fair:nginx 收到请求后,向每个服务器发消息,谁先响应交给谁
只要集群中有一台存活的服务器,都不影响网站的运行
动静分离:
1. 主流方案:静态网页部署在单独的服务器上
2. nginx 方案:
1. 剪切静态资源到 zy_cloud_disk 文件夹
2. 上传到 /usr/share/nginx 目录
3. 编辑 /etc/nginx/conf.d/zcd.conf
4. 打包剩余的 java 代码项目,上传到 3 个 tomcat