首先,购买云服务器,腾讯云或阿里云等等。
接下来我会使用腾讯云服务器进行操作。
登录云服务器之后,进行重置密码,密码要牢记
先进行本地部署:
修改setting文件:
DEBUG = False
ALLOWED_HOSTS = ['*']
接下来,在你的项目下创建uwsgi.ini文件,里面写入:
安装pip install uwsgi
然后运行命令uwsgi --ini uwsgi.ini
现在就已经启动了,可以查看进程:ps -aux | grep uwsgi
去浏览器输入127.0.0.1:8000,你会发现 现在没有了css样式
现在开始配置nginx:
安装包:sudo apt install nginx
修改nwsgi.ini文件,使用socket,注掉http:
进入setting文件,注掉STATICFILES_DIRS = [
os.path.join(BASE_DIR,'static')
]
写入:STATIC_ROOT = os.path.join(BASE_DIR, 'static/')
输入命令python3 manage.py collectstatic进行收集静态资源。
然后进入/etc/nginx/nginx.conf,把下面这段话写入到http括号下:
server {
listen 80;
server_name 127.0.0.1;
#动态请求
location / {
include uwsgi_params;
uwsgi_pass 127.0.0.1:8000;
}
#静态
location /static {
#static文件夹路径
alias /home/baba/桌面/Mzblog/static ;
}
}
然后输入/etc/init.d/nginx start 启动nginx,uwsgi --ini uwsgi.ini 启动uwsgi,进入浏览器,输入127.0.0.1:80,就出来了.(注意,nginx的端口是80)
nginx命令:
/etc/init.d/nginx start 启动
/etc/init.d/nginx stop 或killall -9 nginx 关闭
/etc/init.d/nginx restart 重启
接下来进行服务器部署:
打开终端,输入ssh ubuntu@你的云服务器公网ip,这时提示需要输入密码,按照指示输入你重置以后的密码即可.
第一步:sudo apt update,再输入sudo apt upgrade
第二步:安装pip sudo apt install python3-pip
第三步:安装虚拟环境sudo pip3 install virtualenv
可能会出错:分析原因
locale是用来设置软件运行的语言环境,所以语言环境设置有问题
解决故障复制这三条命令一条一条输入在登入云服务器
重新设置语言环境,最简单的解决办法:
第一条: echo "export LC_ALL=en_US.UTF-8"
第二条: echo "export LC_ALL=en_US.UTF-8"
第三条: exit
还是不行就再输入export LC_ALL=C
第四步:sudo pip3 install virtualenvwrapper
第五步:配置虚拟环境 vi .bashrc
复制这三条命令到文档
export WORKON_HOME=$HOME/.virtualenvs
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
source /usr/local/bin/virtualenvwrapper.sh
再进行激活:source .bashrc
第六步:创建虚拟环境 : mkvirtualenv + 虚拟环境名称
第七步:安装数据库sudo apt-get install mysql-server mysql-client, 密码最好设置和之前的一样,不然之后需要在setting文件里修改.
第八步(在本地进行操作):导出本地数据库mysqldump -uroot -p blog2 > /home/baba/blog.sql
第九步(在本地进行操作):导出本地依赖第三方pip freeze > requirements.txt。
第十步:想任何办法把数据库和依赖文件还有源码上传到服务器(git ftp scp),接下来我使用scp演示一下:
再把项目文件夹和requirements.txt文件依次上传到云端,文件夹最好打包一下再进行上传,不然非常慢.
第十一步:在云端创建一个和本地数据库一样的库,并导入数据source /xxx/xx/blog.sql
第十二步:
安装nginx sudo apt-get install nginx
安装uwsgi pip install uwsgi
第十三步:配置uwsgi和nginx 和本地部署一样
uwsgi.ini里:记得修改路径.
/etc/nginx/nginx.conf里:server_name设置成你的云端服务器公网ip,路径也修改一下,可以使用pwd查看路径,方便修改.
第十四步:启动uwsgi
uwsgi --ini uwsgi.ini 启动
uwsgi --stop uwsgi.pip 关闭
第十五步:启动nginx
/etc/init.d/nginx start 启动
/etc/init.d/nginx stop 或killall -9 nginx 关闭
/etc/init.d/nginx restart 重启
完成!
输入你的公网ip到浏览器进行查看,只要是有网的设备就可以进入你的项目哦.