1. Service 생성
- 경로 : /usr/lib/systemd/system
- 명령어 : vi postgresql.service
postgresql.service 내부 작성
[Unit]
Description=PostgreSQL database server
After=syslog.target network.target
[Service]
User=postgres
Environment=PGDATA=/apps/postgresql/data
Environment=PGSQL=/apps/postgresql
ExecStart=/apps/postgresql/bin/ag_ctl -D ${PGDATA} -l ${PGSQL}/logs/psql.log start
ExecStop=/apps/postgresql/bin/ag_ctl -D ${PGDATA} -l ${PGSQL}/logs/psql.log stop
ExecReload=/apps/postgresql/bin/ag_ctl -D ${PGDATA} -l ${PGSQL}/logs/psql.log restart
[Install]
WantedBy=multi-user.target
코드 설명
- [Unit]
- Description : 해당 서비스에 대한 설명
- After : 서비스가 언제 실행될지에 대해 정할 수 있는 부분
- syslog.target : 시스템 로그에 관련된 것이 설정된 후
- network.target : 네트워크가 연결된 후
- [Service]
- User : Postgresql을 실행하는 유저
- Environment : 변수 생성
- PGSQL : 설치되어있는 postgresql 경로
- PGDATA : 설치되어있는 postgresql의 data 경로
- ExecStart : Postgresql을 실행하는 명령어
- ExecStop : Postgresql을 정지시키는 명령어(없어도 괜찮음)
- ExecReload : Postgresql을 재시작하는 명령어(없어도 괜찮음)
- [Install]
- WantedBy : 서비스 run level을 설정하는 부분 ('multi-user.target'은 다중 사용자)
2. 서비스 활성화
sudo systemctl enable postgresql.service
3. 서버 재시작
sudo systemctl reboot
4. 기타 명령어
서비스 상태 확인
sudo service postgresql status
서비스 확인
systemctl
'IT > Linux' 카테고리의 다른 글
WSL(Windows Subsystem for Linux) 설치하기 (0) | 2024.09.06 |
---|---|
서버 재기동시 Java 애플리케이션 자동실행(.jar) (0) | 2024.07.03 |
서버 재기동시 keycloak 자동 실행 (0) | 2024.06.24 |