apt install python3.6
apt install python3-pip
git init 初始化git仓库
git pull https://github.com/zbill/DMS master
chmod 755 manage.py
-修改secret key
-修改ALLOWED_HOSTS = [‘*’],DEBUG = False
-修改邮箱EMAIL_USE_SSL,EMAIL_HOST,EMAIL_PORT
mkdir migrations
touch migrations/__init__.py
构建数据库
-运行python3 manage.py makemigrations
-运行python3 manage.py migrate
根据服务器ip,运行python3 manage.py runserver 服务器ip:8000
在浏览器中访问“服务器ip:8000”网址,看是否能出现项目首页
如果看到“简洁”的登录页面时,证明测试成功(由于DEBUG=False,无法读取静态文件)
sudo apt-get install nginx 安装nginx
运行 /etc/init.d/nginx start 启动nginx service
如果在浏览器访问“服务器ip”可见下图,证明安装成功:
mkdir config
1 upstream django { 2 # 使用socket 3 # server unix:///home/zb/DMS/dms.sock; 4 # 先行测试 5 server 127.0.0.1:8001; 6 } 7 8 server { 9 # 测试时使用8000端口 10 listen 8000; 11 # 服务器ip或域名 12 server_name xx.xx.xxx.xxx; 13 charset utf-8; 14 15 # 目前本项目无此目录 16 location /media { 17 alias /home/zb/DMS/media; 18 } 19 20 location /static { 21 # 静态文件存放位置 22 alias /home/zb/DMS/static; 23 } 24 25 location / { 26 # 其他 27 uwsgi_pass django; 28 # uwsgi_params可从nginx安装目录中获取,一般为‘/etc/nginx/uwsgi_params‘ 29 include /home/zb/DMS/config/uwsgi_params; 30 } 31 }
其中,第29行中uwsgi_params文件通过/etc/nginx/uwsgi_params复制,存至~/DMS/config/目录下
ln -s /home/zb/DMS/config/dms_nginx.conf /etc/nginx/sites-enabled/
-再次编辑settings.py文件,将STATICFILE_DIRS变量删除,增加STATIC_ROOT = os.path.join(BASE_DIR, ‘static/‘)
-进入~/DMS目录,运行python3 manage.py collectstatic
重启nginx service: /etc/init.d/nginx restart
访问“服务器ip:8000/static/img/logo-new.png”
如可见项目logo图片,则测试nginx读取项目静态文件成功。
pip3 install uwsgi
uwsgi --http :8001 --module ver2.wsgi
利用ver2目录下的wsgi.py 文件运行项目
用浏览器访问:“服务器ip:8001”,如果显示登录页面则uwsgi运行成功
打开~/DMS/config/dms_nginx.conf 文件
修改upstream内语句:
-注释 server 127.0.0.1:8001;
-取消注释 server unix:///home/zb/DMS/dms.sock;
在~/DMS/目录下运行:
uwsgi --socket dms.sock --module ver2.wsgi
出现上图时,查看nginx错误日志:
cat /var/log/nginx/error.log
如果显示 permission denied则为权限错误
利用uwsgi --socket dms.sock --module ver2.wsgi --chmod-socket=666可解决
1 [uwsgi] 2 # 绝对路径 3 chdir = /home/zb/DMS 4 # Django的wsgi文件位置,相对chdir的路径 5 module = ver2.wsgi 6 7 # 进程相关 8 master = true 9 processes = 10 10 # socket绝对路径 11 socket = /home/zb/DMS/dms.sock 12 # 权限相关 13 chmod-socket = 666 14 15 vacuum = true 16 status = %(chdir)/config/uwsgi.status 17 pidfile = %(chdir)/config/uwsgi.pid
运行uwsgi --ini dms_uwsgi.ini
用浏览器访问 “服务器ip:8000”即可看到正常的登录页面
此时将dms_nginx.conf中listen 8000;改为listen 80;即可使用“服务器ip”直接访问项目页面了。
至此,nginx+uwsgi+django部署完成。
1.python3 manage.py createsuperuser,创建django项目管理员账户
2.进入admin页面:
-进入department建立管理员组:如“所级管理员组”
-进入建立管理员账户(需要通过在线加密工具生成密码的sha256加密结果)
3.通过管理员账户进入系统进行系统基础数据管理
4.其他:
-修改系统默认密码(需要通过在线加密工具生成密码的sha256加密结果)
-建立super账户,用于保存发送邮件密码及台账信息超级管理
-邮件模板:领取地点、邮件正文等内容
1.pip install virtualenvwrapper
2.默认家目录~为:/home/zb
在~目录下建立‘.virtualenvs’目录:mkdir .virtualenvs
3.通过‘find / -name virtualenvwrapper.sh’找到 vitualenvwrapper.sh 文件所在位置:可能为‘/home/zb/.local/bin/vitualenvwrapper.sh‘
4.进入python环境,import sys,通过sys.executable输出python3解释器所在位置:可能为‘/urs/bin/python3’
5.进入~目录,编辑.bashrc文件,在文件最后添加以下内容:
export WORKON_HOME=/home/zb/.virtualenvs
export VIRTUALENVWRAPPER_PYTHON=/urs/bin/python3
source /home/zb/.local/bin/virtualenvwrapper.sh
6.运行source .bashrc
7.建立虚拟环境dmsenv:
mkvirtualenv dmsenv
虚拟环境会自动建立并运行。
在Ubuntu18-server中使用uwsgi+Nginx部署DMS(Django)系统
原文:https://www.cnblogs.com/zbill/p/11626482.html