nginx 练习(将游戏图片部署到NFS+LNMP架构简介+uwsgi架构简介)
nginx(将游戏图片部署到NFS)
练习
一、首先去NFS这里创建挂载点
1.先在NFS的opt下面创建文件夹存放图片
[root@linux opt]# mkdir /opt/img
2.然后将此目录设置为 挂载点
[root@linux opt]# vim /etc/exports /opt/img 172.16.1.0/20(rw,sync,all_squash,anonuid=666,anonuid=666)
3.给做一个权限
[root@linux opt]# chown -R www.www /opt/img/
4.重启一下NFS
[root@linux opt]# systemctl restart nfs-server rpcbind
5.检查下是否配置挂载点成功
[root@linux opt]# showmount -e Export list for linux: /opt/img 172.16.1.0/20
二、然后去到web01中挂载
1.首先创建文件夹
[root@linux opt]# mkdir /opt/img
2.进行挂载,将nfs中的挂载点,挂载到别人的身上,别人就能访问了。
[root@linux opt]# mount -t nfs 172.16.1.31:/opt/img /opt/img/
也就是通过右边的/opt/img/这个路径,可以访问左边nfs这个路径里面的内容啦
3.检查是否挂载上了
[root@linux img]# df -h 172.16.1.31:/opt/img 20G 2.7G 17G 14% /opt/img
4.然后去到nginx配置文件去配置条件
[root@linux img]# vim /etc/nginx/conf.d/game.conf server { listen 80; server_name 192.168.15.7; location ~ /images { root /opt/img; } }
5.转移马里奥游戏的图片
将/opt/Super_Marie/images中的图片转移到/opt/img/images中 [root@linux opt]# mv /opt/Super_Marie/images/* /opt/img/images/
6.重启nginx
systemctl restart nginx
7.进入网页,输入地址,即可出现游戏画面。
PS:我这里忘了创建/opt/img下面的images文件夹了,一直报错刷新不出画面来,通过查看nginx日志(访问日志+错误日志)的方法找到问题。
具体如下:
*查看nginx访问日志:
[root@linux img]# tail -f /var/log/nginx/access.log
执行后最下面出现下图提示:
*查看nginx错误日志:
[root@linux img]# tail -f /var/log/nginx/error.log
执行后最下面出现下图提示:
LNMP架构简介
LNMP是一套技术的组合,L=Linux、N=Nginx、M~=MySQL、P~=Python 首先Nginx服务是不能处理动态请求,那么当用户发起动态请求时, Nginx又是如何进行处理的。 1.静态请求:请求的内容是静态文件就是静态请求 1)静态文件:文件上传到服务器,永远不会改变的文件就是静态文件 2)html就是一个标准的静态文件 2.动态请求:请求的内容是动态的就是动态请求 1)不是真实存在服务器上的内容,是通过数据库或者其他服务拼凑成的数据 当用户发起http请求,请求会被Nginx处理,如果是静态资源请求Nginx则直接返回,如果是动态请求Nginx则通过uwsgi协议转交给后端的Python程序处理
因为nginx不支持wsgi协议,无法直接调用py开发的webApp。 在nginx+uWsgi+Django的框架里,nginx代理+webServer,uWsgi是wsgiServer,Django是webApp。 nginx接收用户请求,并判定哪些转发到uWsgi,uWsgi再去调用pyWebApp。