linux动静分离
动态请求:用户的请求,需要调用数据库中的数据
静态请求:用户的请求:不需要调用数据库
动态页面:后端开发写的需要调用数据库的页面(python,Java,C,PHP...)
静态页面:前端开发写的,不需要调用数据库,直接访问的页面
将无法加载的图片重新加载
[root@db01 ~]# systemctl restart mariadb
启动mysql
# 创建NFS挂载点
[root@web01 nginx]# cd /opt/bbs
[root@web01 bbs]# ls
app01 bbs --ini manage.py myweb_uwsgi.ini static templates
可以看到,图片在static中,static指的是静态文件
[root@nfs ~]# mkdir /static
[root@nfs /]# cd /static/
[root@nfs static]# vim /etc/exports
/static 172.16.1.0/20(rw,sync,all_squash,anonuid=666,anongid=666)
[root@nfs static]# systemctl restart nfs-server
[root@nfs static]# showmount -e
Export list for nfs:
/static 172.16.1.0/20
/opt/img 172.16.1.0/20
/web/nfs1 172.16.1.0/20
[root@nfs static]# chown -R www.www /static/
'web01-web02-web03都需要操作'
# 将静态资源放置于挂载点内
[root@web03 ~]# mkdir -p /opt/static/s
[root@web01 static]# mount -t nfs 172.16.1.31:/static /opt/static/
'如果无法挂载则下载nfs: yum install -y nfs-utils'
我们所做的操作是将静态文件挂载至负载均衡,不再访问负载均衡,再由负载均衡将请求转至服务器,最后通过负载均衡给我们返回响应
# lb01
[root@lb01 conf.d]# cd /opt/
[root@lb01 conf.d]# mkdir static
[root@lb01 conf.d]# yum install -y nfs-utils
[root@lb01 conf.d]# mount -t nfs 172.16.1.31:/static /opt/static/
[root@lb01 conf.d]# cd /etc/nginx/conf.d/
[root@lb01 conf.d]# vim python.conf
upstream bbs {
server 172.16.1.7:80 max_fails=3 fail_timeout=3s;
server 172.16.1.8:80 max_fails=3 fail_timeout=3s;
server 172.16.1.9:80 max_fails=3 fail_timeout=3s;
}
server {
listen 80;
server_name py.test.com;
proxy_next_upstream error timeout invalid_header http_500 http_503 http_404;
location / {
proxy_pass http://bbs;
include /etc/nginx/proxy_params;
}
location ~ \.(jpg|png|js|css|woff|ttf)$ {
root /opt/static;
}
}
[root@lb01 conf.d]# nginx -t
[root@lb01 conf.d]# systemctl restart nginx