Jadi bisakah kita menggunakan skrip startup selamanya untuk menyelesaikan masalah di atas? Jawabannya tentu saja ya, tapi agak merepotkan, dan resmi selamanya tidak memiliki dokumen konfigurasi terperinci. Saya juga mengambil beberapa jalan memutar saat mengonfigurasi, jadi saya akan masuk ke detail di bawah ini.
Catatan: Lingkungan eksperimental artikel ini adalah Ubuntu Server 12.04 LTS x86_64, dan konfigurasi pada CentOS lebih sederhana.
Pada awalnya, saya berpikir untuk menambahkan Forever Start xxx ke /etc/rc.local, tetapi saya menemukan bahwa Ubuntu (sama seperti sistem lain) tidak buruk bagi saya. Kontradiksi utamanya adalah bahwa MongoDB dapat berjalan dengan menggunakan metode ini, tetapi selamanya tidak bisa. Dalam keputusasaan, saya harus mempertimbangkannya dari perspektif /etc/init.d.
Premisnya adalah membuat selamanya terlebih dahulu. Metode ini sangat sederhana. Cukup jalankan perintah berikut:
NPM Instal Forever -G
Setelah instalasi selesai, gunakan program simpul sederhana untuk mengujinya:
forever start test.jsforever stop test.jsforever restart test.js
Selama kesalahan tidak diminta, itu berarti bahwa selamanya dapat digunakan, yaitu, kondisi dasar untuk menggunakan selamanya untuk membuka proyek node di latar belakang sudah terpenuhi, dan sisanya adalah menulis skrip startup.
Konten dasar skrip adalah sebagai berikut, terima kasih kepada penulis asli atas kerja kerasnya:
#!/bin/bash ### Mulai Info Init# Menyediakan: xiyoulib# Diperlukan start: $ all# wajib-stop: $ all# default-start: 2 3 4 5# Default-Stop: 0 1 6# Pendek-Deskripsi: Mulai Daemon Pada Waktu Boot# Deskripsi: Aktifkan Layanan yang disediakan oleh Daemon. ### Akhir Info Info# CHKCONFIG: 345 845. Node.jsDEAMON=/node.js/XiyouLibNodeExpress/bin/www #Here you need to fill in the startup script file of your own Node project LOG=/node.js/log/log #Optional, log file directory PID=/node.js/pid #Required content, used to record the process number of forever export PATH=$PATH:/usr/local/bin #Specify Direktori instalasi program yang dapat dieksekusi node di sini, tambang adalah/usr/local/binexport node_path = $ node_path:/usr/local/lib/node_modules #di mana adalah jalur pustaka kelas node ($ 1 "tidak perlu dimodifikasi node = nodeforever = forevercase" $ 1 "$ overing) $ over -over -oving -start -oving) $ -pion -paP -nodeforever = forevercase" start start) $ overed) $ overed) $ over -over -over -over -node -piP -pion -pion $ 1 " berhenti) $ forever stop --pidfile $ pid $ deamon ;; berhenti) $ forever stop --pidfile $ pid ;; restartall) $ forever restartall --pidfile $ pid ;; Reload | Restart) $ Forever Restart -l $ log --pidfile $ pid -a $ deamon ;; daftar) $ Daftar Forever ;; *) echo "penggunaan: /etc.init.d/node {start | stop | restart | reload | stopall | restartall | daftar}" keluar 1 ;; esacBerikut adalah pengingat: yang terbaik adalah membuat direktori di direktori root untuk proyek node, seperti /node.js, dan kemudian atur izin ke 754, yang dapat menghindari masalah yang disebabkan oleh beberapa masalah izin!
Karena saya menggunakan sistem server Ubuntu, layanan startup MongoDB juga dikonfigurasi, dan pernyataan berikut ditambahkan ke skrip init.d -nya:
# START START: $ ALL# diperlukan-stop: $ all
Jadi ketika saya menambahkannya sendiri di masa depan, sistem akan meminta kesalahan. Jadi dalam skrip startup proyek node, saya menambahkan string komentar penjelasan sebelumnya untuk sistem server Ubuntu untuk mengaturnya. Jika ada di CentOS, masalah serupa seharusnya tidak terjadi. Berikan perhatian khusus untuk ini!
Yaitu, informasi penjelasan berikut:
### Mulai Info Init# Menyediakan: xiyoulib# Diperlukan start: $ all# wajib-stop: $ all# default-start: 2 3 4 5# Default-Stop: 0 1 6# Pendek-Reskrip
Setelah skrip diedit, gunakan chkconfig-list directive untuk memeriksa apakah layanan yang Anda tambahkan efektif, yaitu, semua 3 dan 5 harus menyala untuk memulai sendiri.
Jika 3 dan 5 tidak diatur ke ON, harap jalankan chkconfig -level 35 [nama layanan Anda] aktif. Ubuntu Server dapat melaporkan beberapa peringatan, tetapi selama 3 dan 5 dari layanan yang diperlukan dapat diubah, kesalahan lain dapat diabaikan (saya merasa bahwa ini adalah bisnis sistem sendiri).
Setelah pengaturan selesai, proyek node dapat dimulai di Linux. Anda dapat mematikan -r sekarang mencoba untuk melihat apakah itu bisa dimulai. Setelah memulai, Anda dapat secara langsung mengakses nomor port dan direktori virtual yang Anda atur. Jika Anda menginginkannya, tugas itu akan selesai!
Tetapi jika itu salah, periksa beberapa skrip dengan hati -hati dan buat modifikasi yang relevan berdasarkan kesalahan. Lagi pula, saya juga mencobanya!