一、上传项目,收集静态词源
- 1.生成requirements.txt文件,执行如下命令
pip freeze > requirements.txt
- 2.上传django项目
- 3.安装项目依赖,首先创建虚拟环境
vituralenv rongxingtong # 创建虚拟环境
cd rongxingtong/bin/ # 进入到bin目录
source activate # 进入虚拟环境
pip install -r requirements.txt
安装 mysqlclient可能会报错,报错下载一下的包
yum install python3-devel
- 4.收集静态资源
执行命令:
python manage.py collectstatic
执行此命令前,需要把MEDIA_ROOT,STATICFILES_DIRS先注释掉
收集完之后注释掉STATIC_ROOT=os.path.join(BASE_DIR,'static')
并解除 MEDIA_ROOT,STATICFILES_DIRS 的注释。
- 启动django
python manage.py runserver ip:port
- 在把DEBUG关掉后需要在配置文件中做相应的修改,静态文件才能显示
STATIC_URL = '/static/'
STATIC_ROOT = 'static'
# 配置静态文件路径
STATICFILES_DIRS = [
os.path.join(BASE_DIR, '/static/')
]
在urls中添加
from django.contrib import admin
from django.urls import path
from django.urls import include
from django.views import static # 新增
from django.conf import settings # 新增
from django.conf.urls import url # 新增
urlpatterns = [
path('admin/', admin.site.urls),
path('', include('app.urls')),
url(r'^static/(?P<path>.*)$', static.serve,
{'document_root': settings.STATIC_ROOT}, name='static'), # 新增
]
二、配置uwsgi
- 1.下载uwsgi
需要在虚拟环境和外部环境都下载uwsgi
pip install uwsgi
- 2.在项目下新建一个uwsgi.ini配置文件
# 添加配置选择
[uwsgi]
# 配置和nginx连接的http或socket
# socket =ip:port
http=ip:port
# 配置项目路径,项目的所在目录
chdir=/opt/pythondata/rongxingtong
# 配置wsgi接口模块文件路径
wsgi-file=rongxingtong/wsgi.py
# 映射一个资源到静态文件区
static-map=/static=/opt/pythondata/rongxingtong/static
# 配置启动的进程数
processes=1
workers=2
# 配置每个进程的线程数
threads=2
# 配置起送管理主进程
# master=True
# 配置环境
home=/opt/pythonenv/rongxingtong
#配置存放主进程的进程号文件
pidfile=uwsgi.pid
#配置dump日志记录
daemonize=uwsgi.log
- 3.启动服务
uwsgi --ini uwsgi.ini