①:网站架构原理
②:LNMP(基于python的web架构)
Linux+nginx+mysql+python
静态资源:客户端从服务器获得的资源表现形式与原文件相同
动态资源:通常是程序文件,需要服务器执行后,将执行结果返回给客户端。
注意:httpd服务器是纯静态的web服务器。
③:主流httpd服务器:Apache Nginx
④:WSGI:Web服务器网关接口(Python Web Server Gateway Interface)
Python语言定义的Web服务器和Web应用程序或框架之间的一种简单而通用的接口。
自从WSGI被开发出来以后,许多其它语言中也出现了类似接口。
⑤:Nginx介绍
是一款开源的轻量级的高性能的静态资源web服务器、同时也是非常优秀反向代理服务器、缓存服务器、邮件代理服务器。
最早由俄罗斯程序员伊戈尔·赛索耶夫开发,官方主页http://nginx.org
理念和apache不一样,占用内存少、并发能力强、在中国大陆绝大部分的网站服务器都在使用。
属于web服务器解决方案领域的新贵,市场份额一路飙升。基于异步非阻塞I/O模型
安装方法
源码:编译安装
官方的deb包
sudo apt-get -y install nginx
配置文件目录:/etc/nginx
主配置文件: /etc/nginx/nginx.conf
uwsgi参数配置文件:/etc/nginx/uwsgi_params
被主配置文件包含的配置文件:/etc/nginx/sites-available/default
网页根路径:/var/www/html
(在虚拟机中实现这些数据)
⑥:wsgi的web实现
cd /tmp
sudo apt-get -y install build-essential python3-dev python3-pip python-pip curl
sudo pip3 install uwsgi
sudo curl http://uwsgi.it/install | bash -s default /tmp/uwsgi
sudo mkdir /myweb
cd /myweb
sudo vim test.py
(在虚拟机中实现这些数据)
test.py:
def application(env,start_response):
body = ‘hello ujiuye.’
status = ‘200 OK’
headers = [(‘content-type’, ‘text/html’), (‘content-length’,str(len(body))) ]
start_response(status,headers)
return [body.encode()]
sudo uwsgi --http :9090 --wsgi-file /myweb/test.py --master --processes 4 --threads 2
LINUX+NGINX+UWSGI+MYSQL
⑦:Nginx反向代理uwsgi,实现静态页面和动态页面的分离
Nginx实现反向代理,需要基于proxy模块,语法如下
server {
listen
server_name
location / {
proxy_pass
}
}
sudo nginx -t (检查语法)
sudo service nginx restart (重启服务)
重启服务后,即可在浏览器上输入:自己的ip+test。py检查该连接是否被架构