1、nginx
安装nginx之前先安装python的pip,千万不能用pypy的pip,会容易破坏依赖关系,很难修复,
sudo apt-get install nginx
因为,是自动安装,所以nginx的配置文件在/etc/nginx/sites-enabled/文件目录下的default。直接通过命令vi打开,a,进入插入模式,进行编辑。因为ubuntu是没有vim的,所以上下左右方向键其实显示的是字母,H、j、k、l,才是上下左右,所以先下载vim,在进行编辑。
sudo apt-get install vim
--下载vim
vi /etc/nginx/sites-enabled/default --打开配置文件
对配置文件进行的更改
# the upstream component nginx needs to connect to//关于djjango的配置 upstream django { server unix:///tmp/webvision.sock; # for a file socket #server 127.0.0.1:8001; # for a web port socket (we‘ll use this first) } server {//链接到index首页 listen 80 default_server; index index.html index.htm index.php default.html default.htm default.php; # the domain name it will serve for server_name .shitac.net default 192.168.21.31; # substitute your machine‘s IP address or FQDN charset utf-8; root /var/www/html; # max upload size client_max_body_size 75M; # adjust to taste//通用配置//直接匹配网站根,通过域名访问网站首页比较频繁,使用这个会加速处理 location / { uwsgi_pass django; include /etc/nginx/uwsgi_params; } location /media/ { alias /var/www/webvision2/media/; } location /static/ { alias /var/www/webvision2/static/; } location = /crossdomain.xml { root /var/www/html; } location /live { root /var/www/html; expires -1; } location /pic { root /var/www/html; expires 30d; } }
2、pypy
注意:官方源的运行uwsgi会出现错误,google是说官方源的是static的 libpypy-c.so: cannot open shared object file
所以我选择安装ppa的pypy
安装命令
sudo add-apt-repository ppa:pypy/ppasudo apt updatesudo apt install pypy
您可能需要一个pip的国内源,以增加pip操作的速度,可以百度找有很多,我用的是豆瓣
vim ~/.pip/pip.conf // 將下列复制在pip.conf中 [global] index-url = http://pypi.douban.com/simple [install] trusted-host=pypi.douban.com
3、uwsgi
我们先进入pypy环境,在pypy环境下安装uwsgi
安装uwsgi
p { margin-bottom: 0.25cm; direction: ltr; color: rgb(0, 0, 10); line-height: 120%; text-align: justify }
p.western { font-family: "Calibri", serif; font-size: 12pt }
p.cjk { font-family: "宋体"; font-size: 12pt }
p.ctl { font-family: "Times New Roman"; font-size: 11pt }
a:link { color: rgb(0, 0, 255) }
p { margin-bottom: 0.25cm; direction: ltr; color: rgb(0, 0, 10); line-height: 120%; text-align: justify }
p.western { font-family: "Calibri", serif; font-size: 12pt }
p.cjk { font-family: "宋体"; font-size: 12pt }
p.ctl { font-family: "Times New Roman"; font-size: 11pt }
a:link { color: rgb(0, 0, 255) }
virtualenv -p /usr/bin/pypy pypy --建立pypy的虚拟环境source ~/pypy/bin/activate -- 进入环境pip install uwsgi --安装
等到下载完以后就可以更改uwsgi的配置文件了,
[uwsgi] socket = /tmp/webvision.sock --指定socket #这是实现应用nginx与uwsgi之间的通信(很复杂的东西) master = true -- 主进程启动true processes = 4 -- 启动四个进程工作 enable-threads = true --允许用内嵌的语言启动线程。 pidfile = /tmp/webvision2_uwsgi.pid --指定pid进程文件 daemonize = /var/log/webvision2/uwsgi.log --uwsgi.log肯定是日志咯 chdir = /var/www/webvision2 --项目目录,如果站点多推荐flase pythonpath = /var/www/webvision2 --指明当前应用程序的项目路径 virtualenv = /home/kanbig/pypy pypy-home = /home/kanbig/pypy pypy-wsgi-file = /var/www/webvision2/lteadmin/wsgi.py --wsgi是uwsgi与djiango之间的通信,这是绝对路径
p { margin-bottom: 0.25cm; direction: ltr; color: rgb(0, 0, 10); line-height: 120%; text-align: justify }
p.western { font-family: "Calibri", serif; font-size: 12pt }
p.cjk { font-family: "宋体"; font-size: 12pt }
p.ctl { font-family: "Times New Roman"; font-size: 11pt }
a:link { color: rgb(0, 0, 255) }
4、djiango
安装djiaogo需要进入djiango的目录,已经在webvision2中配置了wsgi.py,所以cd进去
先安装requirememts依赖库
pip install -r requirements.txt
这最后一步问题多多,pyflake8可能需要降档,系统提示pyflake8》=1.6等等有许多问题,按着报错提示一个个安装下载就行,这里我只提供一个降档步骤
p { margin-bottom: 0.25cm; direction: ltr; color: rgb(0, 0, 10); line-height: 120%; text-align: justify }
p.western { font-family: "Calibri", serif; font-size: 12pt }
p.cjk { font-family: "宋体"; font-size: 12pt }
p.ctl { font-family: "Times New Roman"; font-size: 11pt }
a:link { color: rgb(0, 0, 255) }
pip uninstall pyflakes pip install pyflakes==1.6
最后启动命令
uwsgi --ini uwsgi.ini ps -elf|grep uwsgi --如果有四个进程启动就对啦 sudo service nginx restart ps -elf|grep nginx -- nginx打开输入localhost不报错就行
p { margin-bottom: 0.25cm; direction: ltr; color: rgb(0, 0, 10); line-height: 120%; text-align: justify }
p.western { font-family: "Calibri", serif; font-size: 12pt }
p.cjk { font-family: "宋体"; font-size: 12pt }
p.ctl { font-family: "Times New Roman"; font-size: 11pt }
a:link { color: rgb(0, 0, 255) }
原文地址:https://www.cnblogs.com/py1612919884/p/9275889.html