目录
首先看下官网的安装文档 点此查看
我反正按照官网的安装说明是没有安装成功的,小伙伴们可以试下。下面记录下我的安装过程。
安装步骤
下载
安装
将下载好的安装包上传到服务器,我上传到了 /usr/local 目录下,然后解压,命令如下:
tar -xvf pika-linux-x86_64-v3.2.8.tar.bz2
如果你无法解压.bz2的文件并报错如下:
tar (child): cannot run bzip2: No such file or directory
tar (child): trying lbzip2
tar (child): lbzip2: Cannot exec: No such file or directory
tar (child): Error is not recoverable: exiting now
tar: Child returned status 2
tar: Error is not recoverable: exiting now
请先执行如下命令再进行解压:
yum install -y bzip2
解压后出现一个 output目录,在/usr/local 目录执行以下命令就可以启动,命令如下:
./output/bin/pika -c ./output/conf/pika.conf
至此,我们已经将pika安装启动成功!但是每次启动都要进入 /usr/local 目录执行上面命令来启动,挺麻烦,下面我们将pika做成系统服务,使用systemctl命令在任意目录启停服务,并将其添加到开机自动项中。
配置系统服务及开机自启
添加系统账号
groupadd --system pika
useradd -M -s /sbin/nologin -g pika -d /output pika # 在安装目录 /usr/local目录下执行
设置文件拥有者
chown -R pika:pika output
使用systemd管理进程
执行如下指令:
cat > /usr/lib/systemd/system/pika.service <<EOF
[Unit]
Description=pika server
Requires=network.target
After=network.target
[Service]
User=pika
Group=pika
Type=forking
WorkingDirectory=/usr/local/output
ExecStart=/usr/local/output/bin/pika -c /usr/local/output/conf/pika.conf
Restart=always
[Install]
WantedBy=multi-user.target
EOF
创建目录 mkdir /etc/systemd/system/pika.service.d,然后执行如下指令:
cat > /etc/systemd/system/pika.service.d/limit.conf <<EOF
# If you need to change max open file limit
# for example, when you change maxclient in configuration
# you can change the LimitNOFILE value below
# see "man systemd.exec" for information
[Service]
LimitNOFILE=65536
EOF
至此我们已经将pika添加到系统服务,我们可以使用 systemctl 命令来管理pika服务。
以上 添加系统账号、设置文件拥有者 步骤如果你不想单独使用某个账号管理pika服务可以忽略,相应的 pika.service 文件中关于用户和组的配置也不用添加了,删掉一下这两行即可:
User=pika
Group=pika
启停服务
systemctl restart pika # 重启
systemctl stop pika # 停止
开机自启
systemctl enable pika
这里有一个小问题,有的博客说,需要将pika.conf配置文件中的daemonize设置为yes,我这里并没有设置,也是可以的,如果按照我记录的步骤不可以的话,可以将daemonize改为yes再试下。
安装的坑
我按照官网的说明安装,一直没有成功,还有网上好多博客安装的方式也跟官网差不多,我试了也没有成功,不知道是什么原因,就拿官网的来说,它让获取源代码:
然后使用的时候,让执行命令: ./output/bin/pika -c ./conf/pika.conf 我执行的时候会提示没有output这个目录或文件啥的错误。
我打开服务器上下载的源码,它的目录结构是这样的,确实没有output目录,也没有bin目录,
而我下载的 文件解压后就会出现output目录,里面的结构是这样的:
这才有output和bin目录,官网的安装方式,小伙伴们有试过成功的吗,求个链接看下。