在树莓派上部署服务器
我现在正在开发的一个项目是做个分类信息网站,在自己电脑上部署觉得太麻烦而且用起来很不方便。毕竟自己的电脑也要干其他事情,如果系统玩坏了再部署一遍费时费力,而且只能在一台电脑上做开发,对于我这样家里有好几台的人来说,不是个好选择。所以我用了pi来做一个开发用的服务器。
需要准备的是:
硬件:
· 树莓派,各种版本都行,需要链接到路由
· 显示器,鼠标键盘,路由,一台电脑
软件:
Webmin,Samba,pip,Virtualevn,Django,树莓派原生系统
安装流程(除去下载安装等的时间,整个流程小于20分钟):
1. 首先当然是安装系统,链接到路由,设置网络blablabla。
这一步不赘述了,假设已经可以用ssh链接到树莓派了。当然,安装完毕后,记得连上网络,运行下面两行命令来更新和升级:
sudo apt-get update
sudo apt-get upgrade
2. 安装Webmin。
这个是个简易的web客户端,可以在电脑网页上控制树莓派,比如添加删除更新设置树莓派上的软件,我发现这个挺好用的。这里最重要的是用他来设置Apache和安装设置一个软件,Samba,这是个文件共享服务。安装以后就可以用其他电脑来编辑树莓派上的代码了。这个webmin界面是英语的…安装可以参照这个网站
不想看英语的,按照下面的步骤:
1) 打开download文件夹
2) 下载webmin:
3) 安装依赖包,直接拷贝下面命令到ssh里就行了:
apt-get install perl libnet-ssleay-perl openssl libauthen-pam-perl libpam-runtime libio-pty-perl apt-show-versions python
4) 安装webmin:
dpkg --install webmin_1.801_all.deb
安装好之后,就可以在电脑浏览器上键入:https://树莓派地址:10000,比如
将出现如下界面,也有可能出现警告,点击advance,然后继续。这个没关系的。
image001.png (20.57 KB, 下载次数: 274)
2016-6-14 06:30 上传
输入登录树莓派的用户名和密码即可。这是主界面:
image003.png (87.52 KB, 下载次数: 278)
2016-6-14 06:30 上传
3. 安装Samba:
在webmin的搜索栏中,键入Samba,就会出现如下界面,选择第一个Samba Windows file sharing, 点安装。
image005.png (150.57 KB, 下载次数: 279)
2016-6-14 06:30 上传
安装好之后,在servers里,点击Samba,点create a new file share 新建一个分享目录,
image007.png (89.09 KB, 下载次数: 284)
2016-6-14 06:30 上传
比如我的是git,因为一只用git做版本控制。将这个目录添加到分享目录里。同时把几个不必要的分享目录删掉。界面如下:
image009.png (61.11 KB, 下载次数: 271)
2016-6-14 06:30 上传
点Create添加完成后,点刚建的分享目录,进入编辑页面,如下:
image011.png (66.89 KB, 下载次数: 288)
2016-6-14 06:30 上传
点击Security and Access Control, 修改最上面的writable读写权限,如下:
image013.png (30.26 KB, 下载次数: 246)
2016-6-14 06:30 上传
点击save,退出。现在就可以在window的共享文件里看到树莓派了。当然连接的话,还需要输入树莓派的用户名和密码。
4. 安装pip 和virtualevn
这里就开始用ssh了。
pip貌似是最新系统自带的直接可以用。不确定的可以用下面的命令测试下:
pip install -U pip
Virtualevn是个python的虚拟机,用这个可以避免在系统目录下安装一大堆python包,影响系统本身的python的依赖关系。不安装也可以,但是我是强烈建议在虚拟环境下做开发,弄坏了重新建一个虚拟环境再运行就成。同时,Virtualevn也自带pip…下面是安装和使用过程:pip install virtualenv
安装好之后,到第三步的开发目录下,新建一个虚拟环境,启动以及关闭虚拟环境:virtualenv ENVsource ENV/bin/activatedeactivate
将看到如下界面:
image015.png (18.27 KB, 下载次数: 291)
2016-6-14 06:30 上传
当然记得不要输入错了…
由于字数限制,下篇继续讲....