UBUNTU16.04部署TAIGA的时候遇到的问题及解决
首先:
TAIGA具体的安装过程可查看官网:(按找官网步骤来即可)
http://taigaio.github.io/taiga-doc/dist/setup-production.html#_introduction
但网上有一篇写的更详细的文章:(参考自官网,但步骤经过调整及补充)
https://www.howtoing.com/how-to-install-taigaio-on-ubuntu-1604
部署过程遇到的几个问题及问题解决过程:
注:知其然不知其所以然,有很多不懂的地方。
一、基本包安装过程中遇到的两个问题
1、sudo -upostgres createuser taiga出错
问题:
根据官网的操作步骤:
$ sudo apt-get install -y postgresql-9.5postgresql-contrib-9.5
$ sudo apt-get install -ypostgresql-doc-9.5 postgresql-server-dev-9.5
$ sudo -upostgres createuser taiga(出错,这里忘了截图)
解决:
$ sudo apt-get install -y postgresql-9.5postgresql-contrib-9.5
$ sudo apt-get install -ypostgresql-doc-9.5 postgresql-server-dev-9.5
$ systemctl start postgresql(参考自上方的第二篇文章)
$ systemctl enable postgresql(参考自上方的第二篇文章)
$ sudo -upostgres createuser taiga(通过)
$ ......
2、sudo rabbitmqctl add_user taiga PASSWORD_FOR_EVENTS出错
类似于上面这种情况。
解决:
$ sudo apt-get install -y rabbitmq-serverredis-server
$ systemctl start redis(参考自上方的第二篇文章)
$ systemctl start rabbitmq-server(参考自上方的第二篇文章)
$ systemctl enable rabbitmq-server(参考自上方的第二篇文章)
$ sudo rabbitmqctl add_user taiga PASSWORD_FOR_EVENTS(通过)
$ ......二、关于~/taiga-back/settings/local.py里跟主机域名有关的MEDIA_URL/STATIC_URL的设定
问题描述:
对小白(比如本人)来说这一步的网址设定有很多的疑惑,根据自己的主机域名设定?怎么查看自己主机的域名?设定的时候有没有格式的要求?这一步很重要,是最后的验证手段,要在浏览器中输入该网址登录查看平台是否成功部署,所以如果设定错误导致最后上不了TAIGA一切又看似正常那是相当的坑爹(比如本人)。
官网是这样的:http://example.com/media
上方的第二篇文章是这样的:http://taiga.hakase-labs.co/media
MEDIA_URL和STATIC_URL要根据自己的域名设置。
尝试的解决过程:
1、查看域名(失败)
(1)$ hostname(结果是dl)
根据上面的格式编辑一个网址:http://taiga.dl.co
结果:该网址是已经存在的外部网址,会弹到一个无相关的网页,嗯,貌似还是一个诈骗网站。
(2)$ cat /etc/sysconfig/network(没有找到这个文件)
(3)$ cat /etc/hosts(结果如截图)
localhost是一个回环地址;
dl是一个用来解析自己主机名的网址,考虑到要从其他主机链接到该服务器,因此不能设置为回环地址。
2、网址设定为主机IP(成功)
根据网上的另一篇参考资料,将网址设置为主机的IP
查看IP:
$ sudo ifconfig
最后的设置如下:
注:另一个文件的也记得将URL设为该IP
成功!
3、这里在“1、查看域名”的第(3)步$ cat /etc/hosts里应该可以为该IP设定一个域名,之后再通过该域名设置URL,上方的第二篇文章应该也是这个意思。这里不作尝试。
三、taiga-events stopped
注:
taiga-events是TAIGA的可选组件,嗯,可选,所以可以先部署完成TAIGA的前端和后端,让TAIGA正常运行再来解决events的问题。
尝试的解决过程:
1、查看taiga-events的运行状态:
(1)$ sudo service circusd status
结果:[ERROR 2] error in 'taiga-events': No such file or directory
(2)$ cat ~logs/taigaevents.stderr.log
结果:/usr/bin/env: 'node': No such file ordirectory
(3)$ circusctl status(查看circus服务器的运行状态)
结果:taiga-events stopped
2、修改taiga-events.ini里的cmd路径为:/usr/local/bin/coffee(解决了[ERROR 2])
(1)在安装coffee-script时候出现的路径是/usr/local/bin/coffee,这里taiga-events.ini里对应的cmd路径要做相应修改。
$ sudo nano/etc/circus/conf.d/taiga-events.ini
注:网上有些安装教程里这一步出现的路径是/usr/bin/coffee,taiga-events.ini文件要做对应修改;另外,使用npm安装package的默认路径是/usr/local/bin/(查阅官网,这里coffee是用npm下载的)。
(2)修改后的服务器状态:
$ sudo service circusd status
$ circusctl status
(3)使用单独启动taiga-events的命令
$ circusctl start taiga-events
结果:$ circusctl status查看运行状态,taiga-events出现短暂的active
3、创建软链接找到node
说明:这一步后应该就可以解决events无法运行的问题,但也可能因为node版本过低而失败(网上有更新node而解决问题的案例),所以如果这一步后events还是无法运行那么可以尝试更新一下node再创建软链接(更新之后需要检查路径再创建新的软链接)。(本人创建了两次软链接,第一次因为软链接路径设置错误所以更新了一下node,第二次根据新的node地址创建新的软链接,同时发现了第一次的路径错误,下面会作简单说明,也是一个需要注意的小问题)
(1)$ cat ~logs/taigaevents.stderr.log
结果:/usr/bin/env: 'node': No such file or directory
(2)$ ln -s /usr/bin/nodejs /usr/local/bin/node
结果:taiga-events stopped
这里有一个路径错误,软链接的创建路径应该是/usr/bin/node,而不是/usr/local/bin/node
也就是:
$ ln -s /usr/bin/nodejs /usr/bin/node
之后重启circus,查看circus的运行状态:
$ sudo service circus restart
$ circusctl status(events应该可以一直处于active状态了)
这里有一个不懂的问题:
/usr/local/bin是环境变量设置路径之一,为什么不能将软链接创建在/usr/local/bin/下?
四、更新node:Error: invalid version
1、查看版本
$ node --version
版本过低
2、在线更新
$ sudo npm cache clean –f
$sudp npm install –g n
$ sudon latest(安装最新版的时候使用这条指令)
$ sudon stable(安装稳定版的时候使用这条指令)
出现问题:
Error: invalid version
3、尝试解决2遇到的问题(建议先进行第(2)步,如果成功后下载过慢再修改下载源)
(1)修改源(这里只写了一种,还有其他修改源的方法)
$ sudo nano ~/.npmrc(.npmrc需要我们创建而不是本来就有的,nano创建并编辑)
添加如下内容:
registry = https://registry.taobao.org(注意https)
测试是否设置成功:$ npm config get registry(成功)
(再次$ sudo n stable:仍然失败)
(2)指定更新版本
说明:要尝试离线更新的时候发现的问题。
官网:
上面的n stable:
版本不一样????而且 9.11.1>8.11.1 ???($ sudo n latest 出现的也是9.11.1,未截图)
指定版本更新:
$ sudo n 8.11.1
(有一句。。很想讲)
接下来是创建新的软链接:
找到node的安装位置:
删除已有链接:
$ sudo rm /usr/bin/node
创建新的软链接:
$ sudo ln -s /usr/local/n/versions/node/8.11.1/bin/node /usr/bin/node
五、Hignx运行失败
说明:这种情况可能只适用于本人,因为过惨深备了一下份。
删除默认虚拟主机文件的时候不要对该默认文件进行备份:
$ sudo rm /etc/nginx/sites-enabled/default(不要备份default,要么备份在其他目录下)