在进行完手机端应用配置和内网穿透平台ngrok配置之后,进行博客的部署介绍,以开源博客系统Blog_mini为例。
本系列其他文章:
相关应用下载:https://pan.baidu.com/s/1eS9qsDk
0.说明
本文只介绍最简单的配置,详细配置见作者博客。
这里使用的操作系统为:Ubuntu 15.10,理论上,只要操作系统上安装的Python版本为2.6.x或2.7.x,都可以成功部署Blog_mini。
1.获取Blog_mini源代码
有以下两种方式可以获取Blog_mini的源代码:
=>通过git的方式
=>通过Blog_mini项目主页下载
下载完成后,将其解压缩并传到Ubuntu操作系统中即可
2.安装python和pip
执行下面的命令安装即可:
ZKeeer@localhost:~/project/Blog_mini$ sudo apt-get install python
ZKeeer@localhost:~/project/Blog_mini$ sudo apt-get install python-pip
3.安装virtualenv
执行下面的命令安装即可:
ZKeeer@localhost:~/project/Blog_mini$ sudo apt-get install virtualenv
如果上面的命令说找不到virtualenv的,就使用下面的命令:
ZKeeer@localhost:~/project/Blog_mini$ sudo apt-get install python-virtualenv
4.创建虚拟环境venv
在Blog_mini目录下执行下面的命令:
ZKeeer@localhost:~/project/Blog_mini$ virtualenv venv
Running virtualenv with interpreter /usr/bin/python2
New python executable in venv/bin/python2
Also creating executable in venv/bin/python
Installing setuptools, pip…done.
可以在Blog_mini下看到生成了一个venv目录:
ZKeeer@localhost:~/project/Blog_mini$ ls
app LICENSE migrations README.md requirements.txt
config.py manage.py Procfile requirements venv
5.激活虚拟环境venv
在Blog_mini目录下:
ZKeeer@localhost:~/project/Blog_mini$ source venv/bin/activate
(venv)ZKeeer@localhost:~/project/Blog_mini$
6.安装Blog_mini需求文件
执行如下命令:
(venv)ZKeeer@localhost:~/project/Blog_mini$ pip install -r requirements/common.txt
因为这里要安装Blog_mini所需的一些扩展包,所以需要一定时间,当然如果网络良好的话,很快就可以安装完成。
来看这一步,除了数据库的配置以外,Blog_mini的全部需求环境已经搭建好了,接下来要完成下面的两个任何之一:
=>使用sqlite作为默认数据库来运行Blog_mini
=>使用MySQL作为默认数据库来运行Blog_mini
数据库的使用只需要使用其中一种即可。
为了测试,选用了sqlite,其他详细配置参考作者博客
7.使用sqlite作为默认数据库来运行Blog_mini
Python本身就自带了sqlite数据库,因此如果你要使用sqlite来作为默认数据库,你不需要做任何配置。
接下来要做的就是运行Blog_mini了。
生成Blog_mini所需要的系统默认数据,请在Blog_mini目录下执行下面的命令:
(venv)ZKeeer@localhost:~/project/Blog_mini$ python manage.py deploy product
INFO [alembic.runtime.migration] Context impl SQLiteImpl.
INFO [alembic.runtime.migration] Will assume non-transactional DDL.
INFO [alembic.runtime.migration] Running upgrade -> 051691f120e6, fit to MySQL
如果出现上面的提示就说明成功了!对于最后面出现的’fit to MySQL’大家不用觉得疑惑,这只是当时的一个备注,用来注明后面你要使用MySQL也是可以的,没有太大的意义。
运行Blog_mini:
(venv)ZKeeer@localhost:~/project/Blog_mini$ gunicorn manage:app
[2016-03-08 11:49:11 +0000] [7189] [INFO] Starting gunicorn 19.4.5
[2016-03-08 11:49:11 +0000] [7189] [INFO] Listening at: http://127.0.0.1:8000 (7189)
[2016-03-08 11:49:11 +0000] [7189] [INFO] Using worker: sync
[2016-03-08 11:49:11 +0000] [7194] [INFO] Booting worker with pid: 7194
上面的提示就说明Blog_mini已经成功运行了!不过这样的运行方式只能在本机以8000端口访问,如果你的Ubuntu操作系统本身没有GUI界面的话,你在本机也没有办法访问,所以我们可以用下面的方式运行。
以80端口运行Blog_mini:
(venv)ZKeeer@localhost:~/project/Blog_mini$ gunicorn -b 0.0.0.0:80 manage:app
[2016-03-08 11:50:43 +0000] [7202] [INFO] Starting gunicorn 19.4.5
[2016-03-08 11:50:43 +0000] [7202] [INFO] Listening at: http://0.0.0.0:80 (7202)
[2016-03-08 11:50:43 +0000] [7202] [INFO] Using worker: sync
[2016-03-08 11:50:43 +0000] [7207] [INFO] Booting worker with pid: 7207
不过,如果无法访问的话,那可能是防火墙的问题,你可以先把防火墙关掉:
ZKeeer@localhost:~$ sudo ufw disable
[sudo] ZKeeer 的密码:
到了这一步,你已经是成功地把Blog_mini的服务器部署好了。
Blog_mini支持后台管理(在主页底栏有’后台管理’登陆链接,点击即可进入登陆页面),下面是Blog_mini管理后台的默认账号密码:
账号:blog_mini@163.com
密码:blog_mini
提示:在部署完Blog_mini后,里面是没有任何数据的,如果你需要一定的数据来测试Blog_mini的功能,可以在完成上面的操作后执行下面的命令:
(venv)xpleaf@leaf:~/project/Blog_mini$ python manage.py deploy test_data
这将会生成100篇博文和700条评论,同时还有博文分类和系统导航,以方便你验证Blog_mini的功能。
参考文章及资料:
代码地址:xpleaf/Blog_mini
部署地址:Blog_mini完整部署文档 – 香飘叶子 – 51CTO技术博客
试用地址:115.159.72.250:8080
帐号:blog_mini@163.com
密码:blog_mini
作者51cto博客:香飘叶子 – 51CTO技术博客 – 领先的IT技术博客
在安卓机上玩博客,,膜拜大佬,资源高效利用,不知性能怎么样,7+24能坚持下来吗
你好,可以保持7×24在线。现在博客搬到了vps上。以前在手机上的时候稳定性还可以。崩溃的清空主要有:1.手机电量不足 2.手机后台对应用的限制(例如MIUI的神隐模式)3.内网穿透服务的稳定性(他们的服务器是否宕机)。从上面看,只能内网穿透服务做的好,一般没什么问题。欢迎提问。
你好 请问这个方法建博客能装WordPress 吗
能,你得保证设备性能好
chroot可以关防火墙吗?
我记得是可以,没有具体实践过。
厉害
主楼这是什么回事??
服务器返回数据不对,请联系管理员查看接口服务器是否有问题
Welcome to Ubuntu 16.04 LTS (GNU/Linux 3.18.31-perf-gca83241 aarch64)
* Documentation: https://help.ubuntu.com/
Ubuntu 16.04 LTS [running via Linux Deploy]
Last login: Thu Dec 28 14:21:17 2017 from 127.0.0.1
dx@localhost:~$ sunny –clientid=bd82023a57d5024c
{“status”:200,”msg”:”\u83b7\u53d6\u96a7\u9053\u6210\u529f”,”server”:”free.ngrok.cc:4443″,”data”:[{“remoteport”:0,”subdomain”:””,”hostname”:”xiaoling”,”httpauth”:””,”proto”:{“http”:”127.0.0.1:80″}}]}
json: cannot unmarshal number into Go value of type config.Section
服务器返回数据不对,请联系管理员查看接口服务器是否有问题
dx@localhost:~$ sunny –clientid=bd82023a57d5024c
{“status”:200,”msg”:”\u83b7\u53d6\u96a7\u9053\u6210\u529f”,”server”:”free.ngrok.cc:4443″,”data”:[{“remoteport”:0,”subdomain”:””,”hostname”:”xiaoling”,”httpauth”:””,”proto”:{“http”:”127.0.0.1:80″}}]}
json: cannot unmarshal number into Go value of type config.Section
服务器返回数据不对,请联系管理员查看接口服务器是否有问题
dx@localhost:~$
./sunny clientid bd82023a57d5024c
我安装busybox、es文件浏览器、linux deploy、juicessh(android)/xshell(PC)这几个的时候是先安装的linux deploy、juicessh(android)两个,再安装的busybox。现在感觉一些命令不能用,如$ tree / 显示 comment not found。不知道该怎么办?是不是busybox没起作用啊。
建议卸载重新按顺序安装
博主你好,我想请问一下这是什么问题的(我用的是腾讯云上面的服务器),前面的都没问题,最后一步直接运行Blog_mini没问题,但是以80端口运行就这样
(venv) ubuntu@VM-0-15-ubuntu:~/project/Blog_mini$ gunicorn -b 0.0.0.0:80 manage:app
[2018-02-08 16:15:32 +0000] [4891] [INFO] Starting gunicorn 19.4.5
[2018-02-08 16:15:32 +0000] [4891] [ERROR] Retrying in 1 second.
[2018-02-08 16:15:33 +0000] [4891] [ERROR] Retrying in 1 second.
[2018-02-08 16:15:34 +0000] [4891] [ERROR] Retrying in 1 second.
[2018-02-08 16:15:35 +0000] [4891] [ERROR] Retrying in 1 second.
[2018-02-08 16:15:36 +0000] [4891] [ERROR] Retrying in 1 second.
换用别的端口试试
我成功了,蟹蟹,我没有自定义域名。博客传送门http://dusk.free.ngrok.cc/
刚刚部署,还不熟悉,太简陋。新年快乐~~
新年快乐~多试几次,你会发现新大陆
大佬真的秀牛批
最后那个链接是不是有问题啊-_-