Apache Traffic Server를 apt로 설치하고
systemctl start trafficserver로 시작하려면 정상적으로 시작을 하지 않는 경우가 있다.
이런경우 아래처럼 디렉토리를 생성시켜주면 정상적으로 시작이 된다
$ mkdir /var/run/trafficserver
$ chown trafficserver:trafficserver /var/run/trafficserver
systemctl status trafficserver로 확인해보면
/var/run/trafficserver 를 생성시켜주지 못해서 오류가 나면서 종료되는 문제이다.
서버 시작시 서비스가 실행되도록 하려면 아래처럼 한다
$ systemctl enable trafficserver
이렇게 시작 서비스에 등록을 하더라도 재부팅하면 /var/run/trafficserver 디렉토리가 없어지면서
서비스가 정상적으로 시작되지 않는다.
서비스 시작 스크립트를 수정해서 해결한다
$ vim /lib/systemd/system/trafficserver.service
아래코드를 삽입해준다.
서비스 시작전에 실행하는 커맨드를 이용해서 폴더를 생성시켜준다.
ExecStartPre=/bin/mkdir /var/run/trafficserver
ExecStartPre=/bin/chown trafficserver:trafficserver /var/run/trafficserver
전체파일내용은 아래와 같다
[Unit]
Description=Apache Traffic Server is a fast, scalable and extensible caching proxy server.
Documentation=man:traffic_server(8)
After=network.target[Service]
Type=simple
EnvironmentFile=-/etc/default/trafficserver
PIDFile=/var/run/trafficserver/cop.pid
ExecStartPre=/bin/mkdir /var/run/trafficserver
ExecStartPre=/bin/chown trafficserver:trafficserver /var/run/trafficserver
ExecStart=/usr/bin/traffic_cop $TC_DAEMON_ARGS
ExecReload=/usr/bin/traffic_ctl config reload[Install]
WantedBy=multi-user.target