Nginx + uWSGI implementar Django blog del proyecto

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

 

fuente Sitio web Blog

blog personal

Publicado 59 artículos originales · ganado elogios 19 · Vistas a 10000 +

Supongo que te gusta

Origin blog.csdn.net/weixin_43507959/article/details/101593284
Recomendado
Clasificación