prueba de instalación uwsig
uwsgi instalación
sudo python -m pip install uwsgi
nota:
1) instalado en el entorno del sistema, el entorno no virtual
2) usando la versión correspondiente pitón de instalación
3) el desarrollo del paquete pitón primera instalación
Uwsgi prueba es normal
Los nuevos archivos en el directorio inicial test.py / ubuntu, como sigue:
def application(env, start_response):
start_response('200 OK', [('Content-Type','text/html')])
print("hello world")
return [b"Hello World"]
terminal ejecutar:
sudo uwsgi --http :8000 --wsgi-file /home/ubuntu/test.py
Navegador y escriba http: // IP: 8001 puede imprimir la instalación es correcta
Nota: Es necesario abrir el puerto 8001 antes de que el acceso normal
uwsgi protocolo http sitio de acceso de escritura Django
Ejecute el siguiente comando puede poner a prueba sus proyectos
sudo uwsgi --http :8001 --chdir 项目路径 --虚拟运行环境路径 --module mysite.wsgi:application
Navegador y escriba http: // IP: 8001 puede ser una visita normal
entorno operativo virtual para construir
1. pitón instalar un entorno virtual (virtualenv):
sudo python -m pip install virtualenv
2. Crear un entorno operativo virtual mysite_env
进入home目录: cd /home
创建虚拟运行环境: virtualenv mysite_env
3. comandos entorno de ejecución virtual utilizado comúnmente
启动虚拟环境: source mysite_env/bin/activate
退出虚拟环境: deactivate
4. El entorno local de la instalación depende mysqlclient
sudo apt-get install python3-dev libmysqlclient-dev
5. Introducir el entorno virtual para instalar los paquetes de Python
# 切换root账号
sudo su root
# 启动虚拟运行环境
source mysit_env
# 通过pip安装博客项目的Python依赖包
pip install django-ckeditor==5.4.0
pip install Django==2.0
pip install Pillow==5.0.0
pip install pytz==2017.3
pip install mysqlclient
instalación y la configuración nginx
instalar nginx
Si Apache instalado, primero hay que cerrar el servicio de Apache (apache2ctl parada)
# 更新软件仓库
sudo apt-get update
# 安装nginx
sudo apt-get install nginx
Quitar predeterminado
sudo rm -rf /etc/nginx/sites-enabled/default
Entran sites-available crear una nueva configuración
cd /etc/nginx/sites-available/
sudo vim mysite.conf
Configurar lo siguiente:
server {
listen 80;
server_name mysite;
charset utf-8; # 编码格式
client_max_body_size 75M; # 最大文件大小限制
location /favicon.ico {
alias /home/mysite/favicon.ico; # favicon.ico路径
}
location /static {
alias /home/mysite/static; # 静态文件路径
}
location /media {
alias /home/mysite/media; # 图片文件路径
}
location / {
uwsgi_pass 127.0.0.1:8001; # 本地监听端口
include /etc/nginx/uwsgi_params;
}
}
Establecer enlaces de software a los sitios habilitados
sudo ln -s /etc/nginx/sites-available/mysite.conf /etc/nginx/sites-enabled/mysite.conf
Configuración uwsgi, crear el archivo INI
[uwsgi]
chdir = /home/mysite # django项目路径
home = /home/mysite_env # 虚拟环境路径
module = mysite.wsgi:application
master = True
processes = 4 # 进程数
harakiri = 60 # 超时时长
max-requests = 5000 # 最大请求数
socket = 127.0.0.1:8001
uid = 1000
gid = 2000
pidfile = /home/mysite_uwsgi/master.pid
daemonize = /home/mysite_uwsgi/mysite.log
vacuum = True
Inicio uwsgi
启动:sudo uwsgi --ini /home/mysite_uwsgi/mysite.ini
查看uwsgi进程数:ps -aux | grep uwsgi
nginx prueba
命令:sudo nginx -t
Ok no hay rendimientos anormales, de lo contrario comprobar sus perfiles
nginx reinicio
sudo service nginx restart
Recopilar archivos estáticos
Algunos archivos estáticos no se recogen, lo que resulta en algunos estilos de página no son
settings.py encontrado, la parte superior con STATIC_URL STATIC_ROOT = os.path.join (BASE_DIR, 'static_collected'), la preservación
Iniciar el entorno virtual:
启动: source /home/mysite_env/bin/activate
Recopilación de archivos estáticos:
python /home/mysite/manage.py collectstatic
Sube modificar permisos de carpeta
sudo chmod -R 777 media
Otros comandos más utilizados
正常关闭uwsgi进程:sudo uwsgi --stop /home/mysite_uwsgi/master.pid
强制关闭全部uwsgi进程:sudo ps -aux | grep uwsgi |awk '{print $2}'|xargs kill -9
重新加载uwsgi:sudo uwsgi --reload /home/mysite_uwsgi/master.pid