启动kraken
需要把命令复制到与krakendash目录并列的目录中,否则会报错
python: can't open file 'krakendash/manage.py': [Errno 2] No such file or directory
使用命令如下:
cd /kraken
sudo cp ./krakendash/contrib/*.sh .
sudo ./api.sh
sudo ./django.sh
可以查看当前目录中的kraken.log是否有异常输出。
可能遇到的问题
检查requirements.txt中的依赖是否下载安装完毕。
如果上面使用安装了python3.5,则需要先把默认的python程序修改成3.5版本才能引用到安装的依赖库。
否则会报错
ImportError: No module named mathfilters
解决方法使用以下命令:
完成设置默认python版本需要两步:
分别更改/usr/local/bin/python和/usr/bin/python的指向
sudo rm /usr/local/bin/python
sudo rm /usr/bin/python
sudo ln -s /usr/local/bin/python3.5 /usr/local/bin/python
sudo ln -s /usr/local/bin/python3.5 /usr/bin/python
可能遇到错误
File "/kraken/krakendash/kraken/urls.py", line 1, in <module>
from django.conf.urls import patterns, include, url
ImportError: cannot import name 'patterns'
原因是patterns()从Django1.8开始就已经被废弃,Django1.10把它移除,所以报导入patterns错误。我们注意到上面自动安装的依赖Django是2.6
解决方法:
Django版本降低到1.8
pip install Django==1.8
查看屏幕是否启动
ps -ef | grep -i screen
[zzq@k8s kraken]$ ps -ef | grep -i screen
root 3576 1 0 14:52 ? 00:00:00 SCREEN -dmS api ceph-rest-api -c /etc/ceph/ceph.conf --cluster ceph -i admin
zzq 18316 18199 0 21:54 pts/0 00:00:00 grep -i screen
ps -ef | grep -i 8000
[zzq@k8s kraken]$ ps -ef | grep -i 8000
root 18301 1 0 21:53 pts/0 00:00:00 python krakendash/manage.py runserver 0.0.0.0:8000
root 18303 18301 0 21:53 pts/0 00:00:01 /usr/bin/python krakendash/manage.py runserver 0.0.0.0:8000
zzq 18328 18199 0 21:56 pts/0 00:00:00 grep -i 8000
则可以在安装服务的本机浏览器中链接访问如下:
http://localhost:8000
设置django非本机可访问
如果想要在其他内网机子上访问则需要重新设置django的配置。
关闭防火墙
service iptables stop
开启django时,使用0.0.0.0:xxxx,作为ip和端口例如:
python manage.py runserver 0.0.0.0:8000
创建settings文件
cat krakendash/manage.py
可以看到传入的配置文件名
cd krakendash/
vi kraken.settings
#输入内容
ALLOWED_HOSTS = ['*',]
#注意不要漏掉逗号
查出服务pid
[root@k8s krakendash]# ps -ef|grep 8000
root 18301 1 0 21:53 pts/0 00:00:00 python krakendash/manage.py runserver 0.0.0.0:8000
root 18303 18301 0 21:53 pts/0 00:00:12 /usr/bin/python krakendash/manage.py runserver 0.0.0.0:8000
root 18562 18537 0 22:32 pts/0 00:00:00 grep 8000
杀掉进程重新启动
sudo kill 18301
sudo kill 18303
cd /kraken
sudo ./django.sh
其他机器就可以通过这台机器的ip和端口号访问django了。
比如安装此服务的服务器是192.168.30.80,访问地址如下:
http://192.168.30.80:8000
如果报错404可以尝试加上项目名
http://192.168.199.80:8000/krakendash |