零、文章目录
Nginx11-动静分离
1、动静分离
(1)动静分离是什么
- 动:后台应用程序的业务处理
- 静:网站的静态资源(html,javaScript,css,images 等文件)
- 分离:将两者进行分开部署访问,提供用户进行访问。就是以后所有和静态资源相关的内容都交给Nginx来部署访问,非静态内容则交个类似于Tomcat的服务器来部署访问。
(2)为什么要动静分离
- Nginx在处理静态资源的时候,效率是非常高的,而且Nginx的并发访问量也是名列前茅,而Tomcat则相对比较弱一些,所以把静态资源交个Nginx后,可以减轻Tomcat服务器的访问压力并提高静态资源的访问速度。
- 动静分离以后,降低了动态资源和静态资源的耦合度。如动态资源宕机了也不影响静态资源的展示。
(3)如何实现动静分离
- 实现动静分离的方式很多,比如静态资源可以部署到 CDN、Nginx 等服务器上,动态资源可以部署到 Tomcat、weblogic 或者 websphere 上。
- 这里使用 Nginx + Tomcat 来实现动静分离。
2、环境准备
(1)Tomcat安装
-
在服务器192.168.119.162安装Tomcat
-
更换yum源
# 备份原有的 Yum 源配置文件
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup# 下载新的 Yum 源配置文件,你可以选择使用阿里云、网易、腾讯云等国内镜像源。以下是使用阿里云作为例子的命令
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo# 清理YUM缓存并重建缓存
sudo yum clean all
sudo yum makecache
- Tomcat需要Java环境,所以首先需要安装Java
sudo yum install java-1.8.0-openjdk-devel
- 安装Tomcat
# 创建目录
mkdir /opt/tomcat
cd /opt/tomcat# 下载tomcat后上传服务器/opt/tomcat
# 百度网盘地址:https://pan.baidu.com/s/1FCpAq6qwp8oCYPyr_ct1QQ?pwd=1234# 解压tomcat
sudo tar -zxvf apache-tomcat-9.0.96.tar.gz -C /opt/# 启动Tomcat
/opt/apache-tomcat-9.0.96/bin/startup.sh# 检查Tomcat是否启动
/opt/apache-tomcat-9.0.96/bin/catalina.sh status# 关闭tomcat
/opt/apache-tomcat-9.0.96/bin/shutdown.sh# 防火墙设置
# 如果服务器有防火墙,需要开放Tomcat的端口(默认是8080)
sudo firewall-cmd --permanent --add-port=8080/tcp
sudo firewall-cmd --reload
# 或者直接关闭防火墙
sudo systemctl stop firewalld
sudo systemctl disable firewalld
- 在浏览器中输入http://192.168.119.162:8080/,如果看到Tomcat的欢迎页面,说明Tomcat已经成功安装。
(2)Nginx安装
- 在服务器192.168.119.161安装Nginx
- 参考Nginx在Linux下安装篇:https://blog.csdn.net/liyou123456789/article/details/142745399
3、动静分离实现
(1)需求
(2)Nginx服务器创建静态文件
- 在192.168.119.161服务器上创建静态文件夹,将图片文件放入
# 创建静态文件夹,把图片Nginx.jpeg上传到目录/usr/local/nginx/html/static
mkdir /usr/local/nginx/html/static# 完成后文件树如下
[root@localhost ~]# tree /usr/local/nginx/html/static
/usr/local/nginx/html/static
└── Nginx.jpeg
(3)Nginx服务器配置文件
- 在192.168.119.161服务器上配置Nginx
worker_processes 1;events {worker_connections 1024;
}http {include mime.types;default_type application/octet-stream;sendfile on;keepalive_timeout 65;upstream webservice{server 192.168.119.162:8080;}server {listen 80;server_name localhost; #动态资源location / {proxy_pass http://webservice;}#静态资源location ~/.*\.(png|jpg|jpeg|gif|js){root html/static;}error_page 500 502 503 504 /50x.html;location = /50x.html {root html;}}
}
(4)资源访问
- 动态资源访问:http://192.168.119.161/,访问的是Tomcat服务器上的网页
- 静态资源访问:http://192.168.119.161/Nginx.jpeg,访问的是Nginx服务器上的图片