在安卓上部署服务器 – 部署脚本和博客

在进行完手机端应用配置和内网穿透平台ngrok配置之后,进行博客的部署介绍,以开源博客系统Blog_mini为例。


本系列其他文章:

  1. 在安卓上部署服务器
  2. 在安卓上部署服务器 – 应用程序的配置
  3. 在安卓上部署服务器 – 解决内网穿透问题
  4. 在安卓上部署服务器 – 部署脚本和博客

 

相关应用下载: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.安装pythonpip

执行下面的命令安装即可:

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技术博客

17 thoughts on “在安卓上部署服务器 – 部署脚本和博客”

    1. 你好,可以保持7×24在线。现在博客搬到了vps上。以前在手机上的时候稳定性还可以。崩溃的清空主要有:1.手机电量不足 2.手机后台对应用的限制(例如MIUI的神隐模式)3.内网穿透服务的稳定性(他们的服务器是否宕机)。从上面看,只能内网穿透服务做的好,一般没什么问题。欢迎提问。

  1. 主楼这是什么回事??

    服务器返回数据不对,请联系管理员查看接口服务器是否有问题

    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:~$

  2. 我安装busybox、es文件浏览器、linux deploy、juicessh(android)/xshell(PC)这几个的时候是先安装的linux deploy、juicessh(android)两个,再安装的busybox。现在感觉一些命令不能用,如$ tree / 显示 comment not found。不知道该怎么办?是不是busybox没起作用啊。

  3. 博主你好,我想请问一下这是什么问题的(我用的是腾讯云上面的服务器),前面的都没问题,最后一步直接运行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.

  4. 我成功了,蟹蟹,我没有自定义域名。博客传送门http://dusk.free.ngrok.cc/
    刚刚部署,还不熟悉,太简陋。新年快乐~~

发表评论

电子邮件地址不会被公开。 必填项已用*标注