注意事项,不需要单独安装虚拟环境,如使用DjangoUeditor出现 render() got an unexpected keyword argument 'renderer'找到服务器下对应的boundfield.py文件注释掉报错行即可,pip3安装依赖过程中出现setuptools_scm错误则手动安装setuptools_scm模块即可
一、升级Python3和Pip3,之后使用的命令也需要注意,ubuntu中是自带了Python2的
1.1 使用curl -O或者wget 命令下载指定版本的python3 taz包,并解压
curl -O https://www.python.org/ftp/python/3.7.1/Python-3.7.1.tgz tar zxvf Python-3.7.1.tgz
1.2 编译安装,如出现意外看具体错误信息,缺什么apt-get install 装什么
cd Python-3.7.1 ./configure --with-ssl --prefix=/usr/local/python3 #安装依赖 sudo apt-get install build-essential python-dev python-setuptools python-pip python-smbus libncursesw5-dev libgdbm-dev libc6-dev zlib1g-dev libsqlite3-dev tk-dev libssl-dev openssl libffi-dev make sudo make install
1.3 添加软链接,需要先删除之前系统自带的Python3
rm -rf /usr/bin/python3 rm -rf /usr/bin/pip3 ln -s /usr/local/python3/bin/python3.7 /usr/bin/python3 ln -s /usr/local/python3/bin/pip3.7 /usr/bin/pip3
1.4 将python目录加入到环境变量中
vim /etc/profile #在文件的最末尾加入 export PYTHON_HOME=/usr/local/python3 export PATH=$PYTHON_HOME/bin:$PATH
:wq 保存退出,使配置生效
source /etc/profile
二、部署
2.1 将项目文件传输到服务器,这里已blog作为项目名称并将文件放置/data/目录下
如果使用Windows操作系统,可以使用xshell xftp远程工具
2.2 安装项目所需依赖
pip3 install -r requirements.txt #测试项目是否可以启动 python3 manage.py runserver
2.3 安装uwsgi
pip3 install uwsgi
在/data/目录下创建uwsgi的配置文件 blog.ini
[uwsgi] ; 端口号 socket = :8000 ; 项目所在目录 chdir = /data/blog module = blog.wsgi:application ; 启动一个master进程,来管理其余的子进程 master = true processes = 2 ;服务停止时自动移除unix Socket和pid文件 vacuum =true
2.4 启动uwsgi
uwsgi /data/blog.ini -d /data/blog.log --enable-threads
三、安装nginx
3.1 安装
apt-get install nginx
3.2 修改配置文件
vim /etc/nginx/sites-available/default
配置如下:
location / { include uwsgi_params; uwsgi_pass 127.0.0.1:8000; } location /static/ { alias /data/blog/static/; } location /favicon.ico { alias /data/blog/static/favicon.ico ; }
:wq保存退出,注意setting.py中的DEBUG = False 改成 True 同时设置ALLOWED_HOSTS
3.3 重启nginx
nginx t #查看nginx配置是否正确 nginx -s reload #重启
四、访问
浏览器地址栏中输入http://服务器公网ip/进行访问