为什么要部署博客。
做好一个博客网站,要供给别人使用,就要部署在服务器,让别人能连入你的服务器使用你做的博客网站。
部署姿势
安装:uwsgi nginx
sudo apt install nginx
uwsgi配置
在项目目录下,创建uwsgi.ini (touch uwsgi.ini)
写入:
[uwsgi]
# Django-related settings
http = 127.0.0.1:8000
#socket = 127.0.0.1:8000
chdir = /Users/xiaoyuan/Desktop/1807projects/MyBlog
module = MyBlog.wsgi
master = true
processes = 4
threads = 2
daemonize = uwsgi.log
pidfile = uwsgi.pid
virtualenv = /Users/xiaoyuan/.virtualenvs/1807_blog
- uwsgi --ini uwsgi.ini 启动
uwsgi --stop uwsgi.pid 关闭或killall -9 uwsgi
nginx配置
安装:sudo apt install nginx
进入/etc/nginx:cd /etc/nginx
编辑nginx配置文件:sudo vi nginx.conf
写到http括号下
server {
listen 80;
server_name :;
#动态请求
location / {
include uwsgi_params;
uwsgi_pass 127.0.0.1:8000;
}
#静态
location /static {
alias /Users/xiaoyuan/Desktop/py_projects/MyBlog/static ;
}
}
}
收集静态资源(css,js,images等为静态资源)
在项目setting.py文件内写入
STATIC_ROOT = os.path.join(BASE_DIR, 'static/')
然后 python3 manage.py collectstatic 进行收集
启动nginx
/etc/init.d/nginx start 启动
/etc/init.d/nginx stop 或killall -9 nginx 关闭
kill -9 pid
/etc/init.d/nginx restart 重启
以上为本地部署姿势
服务器部署
- 首先,什么是服务器?
详见:https://baike.baidu.com/item/%E6%9C%8D%E5%8A%A1%E5%99%A8/100571?fr=aladdin - 怎么拥有服务器?
买!
服务器哪家强?阿里云?腾讯云?买,都买,哪个好用用哪个。
买好服务器准备部署。
第一步: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" >> /home/XXX/.bash_profile 代表(特定用户)
第二条
echo "export LC_ALL=en_US.UTF-8" >> /etc/profile 代表(所有用户)
第三条
exit
解决
第四步: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
第六步:创建虚拟环境
第七步:安装数据库 sudo apt-get install mysql-server mysql-client
第八步(本地):导出本地数据库 mysqldump -uroot -p 1807_blog_db > /Users/xiaoyuan/Desktop/blog.sql
第九步(本地):导出本地依赖第三方 pip freeze > requirements.txt
第十步:想任何办法把数据库和依赖文件还有源码 上传到服务器 git ftp scp
pip install setuptools==33.1.1
第十一步:在云端创建一个和本地数据库一样的库,并导入数据
source /xxx/xx/xx/blog.sql
第十二步:安装nginx sudo apt-get install nginx
安装uwsgi pip install uwsgi
第十三步:配置uwsgi和nginx 和本地部署一样
第十四步:启动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 重启
第十六步:大工完成
网友评论