virtualvenv installpython
首先要安装python3nginx
由于系统已经装了 python3.6 因此接下来直接装虚拟环境 virtualvenvweb
mkdir yourwebproject folder cd yourwebproject /usr/python3.6/bin/python3.6 -m venv venv #创建一个独立于系统的虚拟环境 不会跟系统环境混淆 source venv/bin/activate #运行环境 deactivate #退出环境
pip install django
1). django-admin startproject proName 2). cd proName 3). python manage.py runserver # run
官网django
在虚拟环境中浏览器
pip install uwsgi
# test.py def application(env, start_response): start_response('200 OK', [('Content-Type','text/html')]) return [b"Hello World"] # python3
uwsgi --http :8080 --wsgi-file test.py # 假设访问端口号8080
http://serverIP:8080
若显示站点文件中的输出,说明uwsgi生效服务器
路径 web client <-> uwsgi <-> python网络
python manage.py runserver 0.0.0.0:8000
uwsgi --http :8080 --module djangoProName.wsgi
--module djangoProName.wsgi 表明 djangoProName 目录下的 wsgi.py 文件app
http://serverIP:8080
官网socket
不在虚拟环境中安装
因为服务器上已经安装了 nginx 因此安装步骤省略,只须要在 nginx.conf 中添加配置便可。
nginx.conf 结构:
user www-data; worker_processes auto; pid /run/nginx.pid; events { worker_connections 768; } http { # server{ ... } }
添加 server
server { listen 98 default_server; # 访问时输入的端口 本地和外部浏览器后面都要加这个端口号 server_name 10.41.95.85; # 本身网站的域名 # Load configuration files for the default server block. include /etc/nginx/default.d/*.conf; location / { # location : 文件系统配置 去应答一些要服务器资源的请求 include uwsgi_params; uwsgi_pass 127.0.0.1:9898; # 与ini文件对接端口 与上面的 93 端口没有关系 } }
配置完了以后记得重启nginx
将配置项所有写入ini文件
在venv同目录下本身新建uwsgi的ini文件
[uwsgi] socket = 127.0.0.1:9898 ; 与 nginx 对接 IP ; django pro dir chdir = /root/Odin/TrackManagement/TrackManagement/ ; django project dir wsgi-file = TrackManagement/wsgi.py ; 表明 TrackManagement 目录下的 wsgi.py 文件 ; module = TrackManagement.wsgi ; 有上面的wsgi配置这个就不用写了 processes = 2 ; 进程 threads = 1 ; 线程 stats = 127.0.0.1:9696 ; 经过该端口能够监控 uwsgi 的负载状况 内部配置访问ip 与socket区别开
http://10.41.95.85:98
若显示django画面 则 uwsgi+nginx生效
路径 web client <-> nginx <-> uwsgi <-> django
过程当中踩的坑在另外一篇博文中 -> virtualvenv+django+uWSGI+nginx 部署 踩坑记录