Last active
March 2, 2022 20:44
-
-
Save mattantonelli/64df0e70c7a98bb15121e0ea3c8b97d9 to your computer and use it in GitHub Desktop.
A collection of useful systemd files. /etc/systemd/system
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # /etc/systemd/user/nginx.service | |
| [Unit] | |
| Description=The NGINX HTTP and reverse proxy server | |
| After=syslog.target network-online.target remote-fs.target nss-lookup.target | |
| Wants=network-online.target | |
| [Service] | |
| Type=forking | |
| PIDFile=/var/run/nginx.pid | |
| ExecStartPre=/opt/nginx/sbin/nginx -t | |
| ExecStart=/opt/nginx/sbin/nginx | |
| ExecReload=/usr/sbin/nginx -s reload | |
| ExecStop=/bin/kill -s QUIT $MAINPID | |
| PrivateTmp=true | |
| [Install] | |
| WantedBy=multi-user.target |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # /etc/systemd/user/redis_6379.service | |
| [Unit] | |
| Description=Redis | |
| After=syslog.target | |
| [Service] | |
| ExecStart=/usr/local/bin/redis-server /opt/redis/6379.conf | |
| RestartSec=5s | |
| Restart=on-success | |
| [Install] | |
| WantedBy=multi-user.target |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # | |
| # This file tells systemd how to run Sidekiq as a 24/7 long-running daemon. | |
| # | |
| # Customize this file based on your bundler location, app directory, etc. | |
| # | |
| # If you are going to run this as a user service (or you are going to use capistrano-sidekiq) | |
| # Customize and copy this to ~/.config/systemd/user | |
| # Then run: | |
| # - systemctl --user enable sidekiq | |
| # - systemctl --user {start,stop,restart} sidekiq | |
| # | |
| # If you are going to run this as a system service | |
| # Customize and copy this into /etc/systemd/system | |
| # Then run: | |
| # - systemctl enable sidekiq | |
| # - systemctl {start,stop,restart} sidekiq | |
| # | |
| # This file corresponds to a single Sidekiq process. Add multiple copies | |
| # to run multiple processes (sidekiq-1, sidekiq-2, etc). | |
| # | |
| # Use `journalctl -u sidekiq -rn 100` to view the last 100 lines of log output. | |
| # | |
| [Unit] | |
| Description="Sidekiq (My App)" | |
| After=syslog.target network.target redis_6379.service | |
| [Service] | |
| # If you are using Sidekiq < v6.0.6, change this to `Type=simple` and comment the `WatchdogSec` line. | |
| Type=notify | |
| # If your Sidekiq process locks up, systemd's watchdog will restart it within seconds. | |
| WatchdogSec=10 | |
| WorkingDirectory=/home/deploy/rails/myapp | |
| ExecStart=/bin/bash -lc 'exec /home/deploy/.rbenv/shims/bundle exec sidekiq -e development -g myapp' | |
| # Use `systemctl kill -s TSTP sidekiq` to quiet the Sidekiq process | |
| # Uncomment this if you are going to use this as a system service | |
| # if using as a user service then leave commented out, or you will get an error trying to start the service | |
| # !!! Change this to your deploy user account if you are using this as a system service !!! | |
| # User=deploy | |
| # Group=deploy | |
| # UMask=0002 | |
| # Greatly reduce Ruby memory fragmentation and heap usage | |
| # https://www.mikeperham.com/2018/04/25/taming-rails-memory-bloat/ | |
| Environment=MALLOC_ARENA_MAX=2 | |
| # if we crash, restart | |
| RestartSec=1 | |
| Restart=on-failure | |
| # output goes to /var/log/syslog (Ubuntu) or /var/log/messages (CentOS) | |
| StandardOutput=syslog | |
| StandardError=syslog | |
| # This will default to "bundler" if we don't specify it | |
| SyslogIdentifier=sidekiq-myapp | |
| [Install] | |
| WantedBy=multi-user.target |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment