Saya baru saja menginstal nginx 1.9 pada server Debian 8. nginx bekerja dengan baik, ketika saya memintanya untuk menjalankan, tetapi sepertinya tidak memuat nginx secara otomatis saat boot.
Saya telah mencoba banyak skrip init yang direkomendasikan di internet, tetapi belum ada yang berhasil. Jadi sekarang saya mencoba mencari tahu dengan systemctl.
~$ systemctl status nginx
● nginx.service
Loaded: masked (/dev/null)
Active: inactive (dead)
~$ sudo systemctl try-restart nginx
Failed to try-restart nginx.service: Unit nginx.service is masked.
~$ sudo systemctl reload nginx
Failed to reload nginx.service: Unit nginx.service is masked.
~$ sudo systemctl reload nginx
Failed to reload nginx.service: Unit nginx.service is masked.
Sayangnya, saya tidak tahu apa artinya "layanan bertopeng", dan saya tidak tahu mengapa layanan itu bertopeng.
ketika saya berlari
sudo nginx
server berjalan dengan baik. Jadi, saya melihat ke dalam membuka kedok layanan nginx.
~$ sudo systemctl unmask nginx.service
Removed symlink /etc/systemd/system/nginx.service.
ok keren, sekarang saya bisa mulai nginx menggunakan systemctl. Jadi saya memeriksa untuk melihat apakah me-reboot akan memuat nginx secara otomatis. Tetapi gagal melakukannya, dan saya tidak tahu harus ke mana dari sini.
Dapatkah seseorang membantu saya menjalankan nginx secara otomatis saat boot?
systemctl enable nginx
...Jawaban:
Anda tampaknya bingung mengaktifkan, memulai, dan menutup operasi.
systemctl start
,systemctl stop
: memulai (menghentikan) unit yang dimaksud segera ;systemctl enable
,systemctl disable
: menandai (tidak menandai) unit untuk autostart pada saat boot (dengan cara khusus unit, dijelaskan pada[Install]
bagiannya);systemctl mask
,systemctl unmask
: melarang (memungkinkan) semua dan segala upaya untuk memulai unit yang dipermasalahkan (baik secara manual atau sebagai ketergantungan dari unit lain, termasuk dependensi dari target boot default). Perhatikan bahwa menandai untuk autostart di systemd diimplementasikan dengan menambahkan ketergantungan buatan dari target boot default ke unit yang dimaksud, jadi "mask" juga melarang autostarting.Jadi, ini semua adalah operasi yang berbeda. Dari jumlah ini, yang Anda inginkan
systemctl enable
.Ref .: systemctl (1) .
Lebih lanjut: Lennart Poettering (2011-03-02). "Tiga Tingkat Mati" . systemd untuk Administrator . 0pointer.de.
sumber
systemctl enable
(tidaksystemctl start
) untuk membuat sesuatu mulai saat boot.Memperbaiki tautan dalam jawaban yang diterima sehingga mengarahkan ke halaman yang tepat. Tapi ini sedikit yang relevan:
di mana
/lib/systemd/system/nginx.service
terlihat seperti:sumber
Inilah yang berhasil bagi saya: https://web.archive.org/web/20150328063215/https://longhandpixels.net/blog/2014/02/install-nginx-debian-ubuntu
Saya mengabaikan sebagian besar dokumen, yang khusus untuk mengkompilasi versi lain, dari nginx, dan pergi ke "Make it Autostart".
Saya mengikuti petunjuk di sana, dan sekarang ketika saya reboot, nginx 1.9 sedang berjalan.
Saya sangat menghargai bantuan dan wawasan semua orang. Terima kasih semua!
sumber
dari nginx resources https://www.nginx.com/resources/wiki/start/topics/examples/systemd/
sumber