Persekitaran
versi mac os: 10.12.6
versi nginx: 1.12.1
Pemasangan
Pengarang menggunakan homebrew untuk memasang perpustakaan
brew search nginx brew install nginx
Selepas pemasangan, anda akan mendapati port mendengar nginx ialah 8080, bukan 80. Kemudian anda perlu menukar port mendengar nginx Langkah ini sangat kritikal . Ia tidak boleh diubah dengan cara tradisional.
Memandangkan mac os dilengkapi dengan perkhidmatan apachenya sendiri, ia menduduki port 80. Mula-mula, anda perlu menukar port mendengar apache kepada yang lain atau menyahpasangnya secara langsung.
Barisan arahan
sudo vim /etc/apache2/httpd.conf
Kotak merah dalam gambar pada asalnya membuka port 80, tetapi pengarang telah menukarnya kepada 8011.
apache_conf.png
Selepas membuat perubahan, mulakan semula sudo /usr/sbin/apachectl restart
Pada ketika ini, anda telah mengeluarkan port 80.
Perkara kedua yang anda perlu tahu ialah fail plist. plist bermaksud format senarai harta Ia adalah format yang digunakan oleh Apple untuk menyimpan data aplikasi Ia sebenarnya xml. Fail plist yang sepadan dengan nginx boleh didapati di bawah /usr/local/opt/nginx, sebagai contoh, ia adalah homebrew.mxcl.nginx.plist pada komputer pengarang.
Kandungannya adalah seperti berikut:
<?xml version="1.0" encoding="utf-8"?> <!doctype plist public "-//apple//dtd plist 1.0//en" "http://www.apple.com/dtds/propertylist-1.0.dtd"> <plist version="1.0"> <dict> <key>label</key> <string>homebrew.mxcl.nginx</string> <key>runatload</key> <true/> <key>keepalive</key> <false/> <key>programarguments</key> <array> <string>/usr/local/opt/nginx/bin/nginx</string> <string>-g</string> <string>daemon off;</string> </array> <key>workingdirectory</key> <string>/usr/local</string> </dict> </plist>
Anda perlu menyalin fail ini ke /library/launchdaemons Jika ia ~/library/launchagents, ia juga boleh, tetapi terdapat perbezaan antara keduanya.
Yang pertama dimulakan apabila sistem dimulakan, dan yang terakhir dimulakan apabila pengguna log masuk. Kemudian laksanakan launchctl load -w, seperti berikut:
sudo cp /usr/local/opt/nginx/*.plist /library/launchdaemons
sudo launchctl load -w /library/launchdaemons/homebrew.mxcl . nginx.plist
Akhirnya, mulakan semula mesin anda. Anda akan mendapati bahawa nginx dimulakan pada port 80. Cuba akses terus melalui http://localhost Port 80 telah dikonfigurasikan, yang bermaksud anda telah menyelesaikan 60% kerja.
Jika port tomcat anda ialah 8080, anda perlu memulakannya pada masa ini Sebab mengapa anda memulakan tomcat pada masa ini adalah untuk membenarkan tomcat menduduki port 8080 pertama. Kerana anda perlu mengkonfigurasi pemajuan port 8080 apabila mengkonfigurasi pemajuan nginx kemudian, untuk mengelakkan nginx daripada menduduki port 8080 terlebih dahulu pada masa itu (anda juga tidak boleh memulakan tomcat di sini, selagi anda tidak memulakan perkhidmatan nginx serta-merta selepas mengkonfigurasi konfigurasi pemajuan nginx Kerana apabila anda memulakannya, ia secara langsung menduduki port 8080 untuk pemajuan, dan anda sebenarnya tidak menggunakan port 8080 pada masa ini), menyebabkan tomcat gagal dimulakan tomcat menduduki port dan kemudian melakukan pemetaan nginx dan pemajuan port 8080.
Pada ketika ini tomcat anda telah dimulakan Sekarang kami mula mengkonfigurasi konfigurasi pemajuan nginx:
Baris arahan
sudo vim /usr/local/etc/nginx /nginx.conf<code>sudo vim /usr/local/etc/nginx/nginx.conf<br>
Anda hanya perlu mengambil berat tentang konfigurasi dalam nod pelayan
nginx_conf.png
Nod di bawah pelayan:
dengar: dengar port 80
server_name: alamat mana yang hendak dimajukan ke
proxy_pass: alamat mana kepada proksi
Beberapa konfigurasi ini adalah selesai. Kami mulakan semula nginx (anda perlu beralih ke direktori nginx untuk memulakan semula) sudo /usr/local/cellar/nginx/1.12.1/bin/nginx -s reload
Semua operasi di sini telah selesai. Kini anda dan rakan kongsi lain dalam segmen rangkaian yang sama boleh mengakses projek tomcat anda dengan mengakses terus alamat ip/
Arahan operasi apache yang berkaitan
Hentikan perkhidmatan: sudo /usr/sbin/apachectl stop
Mulakan perkhidmatan: sudo /usr/sbin/apachectl start
Mulakan semula perkhidmatan : sudo / usr/sbin/apachectl restart
arahan nginx (perlu dilaksanakan dalam direktori nginx, direktori:/usr/local/cellar/nginx/1.12.1/bin/)
Dayakan: sudo nginx
Mulakan semula: sudo nginx -s reload
Tutup
Mula-mula, tanya nombor proses utama nginx (proses dengan pengenalan induk): ps -ef|grep nginx
Berhenti seperti biasa sudo bunuh -berhenti nombor proses induk
cepat hentikan sudo kill -istilah nombor proses utama
Atas ialah kandungan terperinci Cara menggunakan Nginx untuk memajukan port 80 ke port 8080 pada Mac. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!