首頁 > 運維 > Nginx > Linux安裝Nginx實例分析

Linux安裝Nginx實例分析

WBOY
發布: 2023-05-22 08:46:05
轉載
1331 人瀏覽過

使用系統二進位來源方式安裝

在ubuntu/debian系

sudo apt-get install nginx
登入後複製

或redhat/centos系

sudo yum install nginx
登入後複製

這種方式最簡單的,最快捷的方式,但是不是最好的方式,下面我們來說這種主要問題。

優點

  • 所有安裝二進位依賴已經處理好了,不用擔心相容性問題,開箱即用

  • #nginx的連線配置,用戶權限這個都不用處理,已經幫你寫好這塊了

  • 不用擔心nginx bug維護升級問題,直接取得最新系統就可以了

  • 卸載簡單,直接一個指令即可

  • #日誌維護簡單,自動截斷當天日誌,壓縮儲存

缺點

  • 不能自主選擇安裝版本

  • 不能自主選擇編譯的模組

  • 擴充功能變得很麻煩,需要重新編譯

  • 目類別結構複雜,設定檔在/etc/下,部署檔案在/var/www

  • 重啟服務,修改設定都需要root權限

  • 效能差一點編譯安裝

如果你是個linux新手,絕對建議使用這中方式安裝,不用考慮編譯依賴問題,直接安裝完就可以使用。但是如果你這個伺服器是用於生產環境正在開發逐步完善的過程,不建議使用這種方式。將來可能會加入第三方模組,到時肯定要編譯安裝(下面會說到)。在重啟伺服器的時候,不要使用root用戶,而是使用sudo短暫取得root。如果你這條伺服器都是用來部署一些靜態文件,主要做一些web空間,平常主要用ftp工具部署文件,用這種方式肯定沒什麼問題的。

編譯安裝

優缺點,我就不寫了,基本上就是上面的顛倒過來就可以了。使用這種方法安裝,都必須懂一點linux編譯知識,linux中度使用者才可以駕馭。我看見網上大多數教程,都是將編譯依賴直接裝在/usr/local/這種方式並不好。如果將來我們要卸載這些依賴,發現非常麻煩。並不是直接在目類下直接刪除就可以完事的,有些linux發行版本,會將安裝文件,寫入設定檔中,這些設定檔有不知道哪裡找。如果依賴版本影響其他軟體,怎麼處理版本問題。我們只想安裝nginx,結果延申出一大堆問題。

編譯環境準備

在開始之前,保證你的linux準備了gcc、make、wget,g 這些軟體。

建立一個目類用來存放下載檔,進入目錄下載依賴函式庫來源檔

#下載openssl主要用於ssl模組加密,支援htps

wget https://www.openssl.org/source/openssl-1.0.2s.tar.gz
登入後複製

下載pcre來實現對位址重定向,位址重寫功能和localtion指令以及正規表示式的支援

wget https://ftp.pcre.org/pub/pcre/pcre-8.43.tar.gz
登入後複製

下載zlib gzip壓縮模組

wget https://zlib.net/zlib-1.2.11.tar.gz
登入後複製

下載nginx

wget http://nginx.org/download/nginx-1.17.1.tar.gz
登入後複製

使用tar 解壓縮所有的檔案

ls *.tar.gz | xargs -n1 tar xzvf
登入後複製

編譯選項

#使用./configure設定各種nginx參數的腳本,包括來源和設定檔的路徑,編譯器選項,連接處理方法和模組清單。該腳本透過建立編譯程式碼和安裝nginx開源所需的makefile來完成。

参数描述
–prefix=nginx安装目录,以及有其他配置脚本选项的路径设置的所有相对路径的基本位置。默认值/usr/local/nginx
–sbin-path=nginx二进制执行文件的名称,默认值:/sbin/nginx</td></tr><tr><td>–conf-path=<path></td><td>nginx配置文件的名称。但是,您可以通过在nginx命令行上使用选项指定其他文件来始终在启动时覆盖此值。默认值:<prefix> conf / nginx.conf-c <filename></td></tr><tr><td>–pid-path=<path></td><td>nginx.pid文件的名称,用于存储nginx主进程的进程id 。安装后,可以使用nginx配置文件中的pid指令更改文件名的路径。默认值:<prefix> /logs/nginx.pid</td></tr><tr><td>–error-log-path=<path></td><td>error,warn和诊断数据的日志文件的名称。安装后,可以使用nginx配置文件中的error_log指令更改文件名。默认值:<prefix> /logs/error.log</td></tr><tr><td>–http-log-path=<path></td><td>http服务器请求的主日志文件的名称。安装后,始终可以使用nginx配置文件中的access_log指令更改文件名。默认值:<prefix> /logs/access.log</td></tr><tr><td>–user=<name></td><td>nginx运行进程的拥有者。安装后,可以使用nginx配置文件中的user指令更改名称。默认:nobody</td></tr><tr><td>–group=name</td><td>nginx运行进程的拥有者用户组。安装后,可以使用nginx配置文件中的user指令更改名称。默认值:–user选项设置的值</td></tr><tr><td>–with-pcre=<path></td><td>pcre库源代码的路径,这是位置指令和rewrite模块中正则表达式支持所必需的</td></tr><tr><td>–with-pcre-jit</td><td>使用“即时编译”支持(pcre_jit指令)构建pcre库</td></tr><tr><td>–with-zlib=<path></td><td>zlib库的源代码路径,gzip模块需要该路径</td></tr><tr><td>–with-http_ssl_modul</td><td>启用https支持</td></tr><tr><td>–with-http_v2_module</td><td>开启 http/2请求支持</td></tr></tbody></table><p >还要太多编译参数我就不一一列举,有兴趣的同学可以自己去<br/></p><p >参看</p><p >编译安装<br/></p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:bash;">./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
登入後複製

以上是Linux安裝Nginx實例分析的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:yisu.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板