Rumah >Operasi dan penyelenggaraan >Nginx >Analisis contoh pemasangan Nginx dalam Linux

Analisis contoh pemasangan Nginx dalam Linux

WBOY
WBOYke hadapan
2023-05-22 08:46:051362semak imbas

Gunakan kaedah sumber binari sistem untuk memasang

pada sistem ubuntu/debian

sudo apt-get install nginx

atau sistem redhat/centos

sudo yum install nginx

Kaedahnya adalah cara yang paling mudah dan cepat, tetapi ia bukan cara yang terbaik. Mari kita bincangkan masalah utama ini di bawah.

Kelebihan

  • Semua kebergantungan binari pemasangan telah diuruskan, tidak perlu risau tentang isu keserasian, ia boleh digunakan daripada box

  • Anda tidak perlu berurusan dengan konfigurasi sambungan dan kebenaran pengguna nginx, kami telah menulis ini untuk anda

  • Don 'Jangan risau tentang penyelenggaraan pepijat nginx dan naik taraf, dapatkan sistem terkini secara langsung Itu sahaja

  • Penyahpasangan adalah mudah, hanya satu arahan

  • Penyelenggaraan log adalah mudah, log hari itu secara automatik dipotong, dimampatkan dan disimpan

Kelemahan

  • Tidak boleh memilih versi yang dipasang secara bebas

  • Tidak boleh memilih modul yang disusun secara bebas

  • Ia menjadi sangat menyusahkan untuk melanjutkan fungsi dan perlu dikompilasi semula

  • Struktur kategori adalah kompleks, fail konfigurasi berada di bawah /etc/ dan fail penempatan berada di bawah /var/www

  • Memulakan semula perkhidmatan dan mengubah suai konfigurasi memerlukan kebenaran root

  • Prestasinya lebih teruk. Susun dan pasang

Jika anda seorang pemula Linux, pastinya disyorkan untuk menggunakan kaedah pemasangan ini. Anda tidak perlu mempertimbangkan kebergantungan kompilasi Anda boleh menggunakannya terus selepas pemasangan. Tetapi jika pelayan anda digunakan dalam persekitaran pengeluaran dan sedang dibangunkan dan dipertingkatkan secara beransur-ansur, kaedah ini tidak disyorkan. Modul pihak ketiga boleh ditambah pada masa hadapan, dan ia mesti disusun dan dipasang pada masa itu (dibincangkan di bawah). Apabila memulakan semula pelayan, jangan gunakan pengguna root, tetapi gunakan sudo untuk mendapatkan root secara ringkas. Jika pelayan anda digunakan untuk menggunakan beberapa fail statik, terutamanya untuk beberapa ruang web, dan biasanya menggunakan alat ftp untuk menggunakan fail, pasti tiada masalah dengan kaedah ini.

Kompilasi dan pasang

Saya tidak akan menulis tentang kebaikan dan keburukan, pada dasarnya hanya membalikkan perkara di atas. Untuk memasang menggunakan kaedah ini, anda mesti mengetahui sedikit pengetahuan tentang kompilasi Linux, dan hanya pengguna Linux sederhana boleh mengawalnya. Saya melihat bahawa kebanyakan tutorial di Internet memasang kebergantungan kompilasi secara langsung dalam /usr/local/. Jika kami ingin menyahpasang kebergantungan ini pada masa hadapan, kami akan mendapati ia sangat menyusahkan. Anda tidak boleh memadamnya terus di bawah kategori Sesetengah pengedaran Linux akan menulis fail pemasangan ke dalam fail konfigurasi Saya tidak tahu di mana untuk mencari fail konfigurasi ini. Jika versi bergantung menjejaskan perisian lain, cara menangani isu versi. Kami hanya mahu memasang nginx, tetapi ia menyebabkan banyak masalah.

Persediaan persekitaran kompilasi

Sebelum anda memulakan, pastikan Linux anda mempunyai gcc, make, wget, g++ dan perisian lain.

Buat kategori untuk menyimpan fail yang dimuat turun, masukkan direktori untuk memuat turun fail sumber perpustakaan bergantung

Muat turun openssl digunakan terutamanya untuk penyulitan modul ssl, menyokong https

wget https://www.openssl.org/source/openssl-1.0.2s.tar.gz

Muat turun pcre untuk melaksanakan sokongan untuk pengalihan alamat, fungsi penulisan semula alamat dan arahan penyetempatan dan ungkapan biasa

wget https://ftp.pcre.org/pub/pcre/pcre-8.43.tar.gz

Muat turun modul pemampatan zlib gzip

wget https://zlib.net/zlib-1.2.11.tar.gz

Muat turun nginx

wget http://nginx.org/download/nginx-1.17.1.tar.gz

Gunakan tar untuk menyahmampat semua fail

ls *.tar.gz | xargs -n1 tar xzvf

Pilihan kompilasi

Gunakan skrip ./configure untuk menetapkan pelbagai parameter nginx, termasuk laluan ke sumber dan fail konfigurasi , pilihan pengkompil , kaedah pengendalian pautan dan senarai modul. Skrip melakukan ini dengan mencipta makefiles yang diperlukan untuk menyusun kod dan memasang sumber terbuka nginx.

参数 描述
–prefix=98953a78f52873edae60a617ec082494 nginx安装目录,以及有其他配置脚本选项的路径设置的所有相对路径的基本位置。默认值/usr/local/nginx
–sbin-path=7988e5ef09cb060996e437e0d2342881/sbin/nginx
–conf-path=98953a78f52873edae60a617ec082494 nginx配置文件的名称。但是,您可以通过在nginx命令行上使用选项指定其他文件来始终在启动时覆盖此值。默认值:aac119f8a3a563a827b4e4c50481b4e7 conf / nginx.conf-c 2334ac29606bf8a170583e4f7533b1f4
–pid-path=98953a78f52873edae60a617ec082494 nginx.pid文件的名称,用于存储nginx主进程的进程id 。安装后,可以使用nginx配置文件中的pid指令更改文件名的路径。默认值:aac119f8a3a563a827b4e4c50481b4e7 /logs/nginx.pid
–error-log-path=98953a78f52873edae60a617ec082494 error,warn和诊断数据的日志文件的名称。安装后,可以使用nginx配置文件中的error_log指令更改文件名。默认值:aac119f8a3a563a827b4e4c50481b4e7 /logs/error.log
–http-log-path=98953a78f52873edae60a617ec082494 http服务器请求的主日志文件的名称。安装后,始终可以使用nginx配置文件中的access_log指令更改文件名。默认值:aac119f8a3a563a827b4e4c50481b4e7 /logs/access.log
–user=8a11bc632ea32a57b3e3693c7987c420 nginx运行进程的拥有者。安装后,可以使用nginx配置文件中的user指令更改名称。默认:nobody
–group=name nginx运行进程的拥有者用户组。安装后,可以使用nginx配置文件中的user指令更改名称。默认值:–user选项设置的值
–with-pcre=98953a78f52873edae60a617ec082494 pcre库源代码的路径,这是位置指令和rewrite模块中正则表达式支持所必需的
–with-pcre-jit 使用“即时编译”支持(pcre_jit指令)构建pcre库
–with-zlib=98953a78f52873edae60a617ec082494 zlib库的源代码路径,gzip模块需要该路径
–with-http_ssl_modul 启用https支持
–with-http_v2_module 开启 http/2请求支持

还要太多编译参数我就不一一列举,有兴趣的同学可以自己去

参看

编译安装

./configure \
  --with-openssl=../openssl-1.0.2s \
  --with-pcre=../pcre-8.43 \
  --with-zlib=../zlib-1.2.11 \
  --with-pcre-jit --user=admin \
  --prefix=/home/admin/nginx \
  --with-http_ssl_module \
  --with-http_v2_module

输出以下信息,说明依赖没问题

configuration summary
 + using pcre library: ../pcre-8.43
 + using openssl library: ../openssl-1.0.2s
 + using zlib library: ../zlib-1.2.11
 
 nginx path prefix: "/home/admin/nginx"
 nginx binary file: "/home/admin/nginx/sbin/nginx"
 nginx modules path: "/home/admin/nginx/modules"
 nginx configuration prefix: "/home/admin/nginx/conf"
 nginx configuration file: "/home/admin/nginx/conf/nginx.conf"
 nginx pid file: "/home/admin/nginx/logs/nginx.pid"
 nginx error log file: "/home/admin/nginx/logs/error.log"
 nginx http access log file: "/home/admin/nginx/logs/access.log"
 nginx http client request body temporary files: "client_body_temp"
 nginx http proxy temporary files: "proxy_temp"
 nginx http fastcgi temporary files: "fastcgi_temp"
 nginx http uwsgi temporary files: "uwsgi_temp"
 nginx http scgi temporary files: "scgi_temp"

编译

make

安装

make install

设置权限

因为linux设置普通用户,不能占用1024一下的端口,直接启动nginx会出现权限不足的错误。将nginx分配给root用户,在分配特殊权限。

sudo chown root nginx
sudo chmod u+s nginx

Atas ialah kandungan terperinci Analisis contoh pemasangan Nginx dalam Linux. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam