CentOS安裝nginx-1.18.0.tar.gz


原文:https://www.nginx.cn/install

nginx可以使用各平台的默認包來安裝,本文是介紹使用源碼編譯安裝,包括具體的編譯參數信息。

正式開始前,編譯環境gcc g++ 開發庫之類的需要提前裝好,這里默認你已經裝好。

ububtu平台編譯環境可以使用以下指令

centos平台編譯環境使用如下指令

安裝make:

安裝g++:

下面正式開始
---------------------------------------------------------------------------
一般我們都需要先裝pcre, zlib,前者為了重寫rewrite,后者為了gzip壓縮。
1.選定源碼目錄
可以是任何目錄,本文選定的是/usr/local/src

2.安裝PCRE庫
https://ftp.pcre.org/pub/pcre/ 下載最新的 PCRE 源碼包,使用下面命令下載編譯和安裝 PCRE 包:

3.安裝zlib庫
http://zlib.net/zlib-1.2.11.tar.gz 下載最新的 zlib 源碼包,使用下面命令下載編譯和安裝 zlib包:

4.安裝ssl(某些vps默認沒裝ssl)

5.安裝nginx

Nginx 一般有兩個版本,分別是穩定版和開發版,您可以根據您的目的來選擇這兩個版本的其中一個,下面是把 Nginx 安裝到 /usr/local/nginx 目錄下的詳細步驟:

--with-pcre=/usr/local/src/pcre-8.44 指的是pcre-8.44 的源碼路徑。
--with-zlib=/usr/local/src/zlib-1.2.11指的是zlib-1.2.11 的源碼路徑。

安裝成功后 /usr/local/nginx 目錄下如下

6.啟動
確保系統的 80 端口沒被其他程序占用,運行/usr/local/nginx/nginx 命令來啟動 Nginx,

如果查不到結果后執行,有結果則忽略此步驟(ubuntu下必須用sudo啟動,不然只能在前台運行)

打開瀏覽器訪問此機器的 IP,如果瀏覽器出現 Welcome to nginx! 則表示 Nginx 已經安裝並運行成功。

-----------------------------------------------------
到這里nginx就安裝完成了,如果只是處理靜態html就不用繼續安裝了

如果你需要處理php腳本的話,還需要安裝php-fpm

下面安裝排錯

附:可能遇到的錯誤和一些幫助信息

1.1編譯pcre錯誤

解決辦法:安裝g++,別忘了重新configure

1.2 make出錯

按照第4步的安裝方法或
ubuntu下

centos下

2.nginx編譯選項

make是用來編譯的,它從Makefile中讀取指令,然后編譯。

make install是用來安裝的,它也從Makefile中讀取指令,安裝到指定的位置。

configure命令是用來檢測你的安裝平台的目標特征的。它定義了系統的各個方面,包括nginx的被允許使用的連接處理的方法,比如它會檢測你是不是有CC或GCC,並不是需要CC或GCC,它是個shell腳本,執行結束時,它會創建一個Makefile文件。nginx的configure命令支持以下參數:

  • --prefix=path    定義一個目錄,存放服務器上的文件 ,也就是nginx的安裝目錄。默認使用 /usr/local/nginx。
  • --sbin-path=path 設置nginx的可執行文件的路徑,默認為  prefix/sbin/nginx.
  • --conf-path=path  設置在nginx.conf配置文件的路徑。nginx允許使用不同的配置文件啟動,通過命令行中的-c選項。默認為prefix/conf/nginx.conf.
  • --pid-path=path  設置nginx.pid文件,將存儲的主進程的進程號。安裝完成后,可以隨時改變的文件名 , 在nginx.conf配置文件中使用 PID指令。默認情況下,文件名 為prefix/logs/nginx.pid.
  • --error-log-path=path 設置主錯誤,警告,和診斷文件的名稱。安裝完成后,可以隨時改變的文件名 ,在nginx.conf配置文件中 使用 的error_log指令。默認情況下,文件名 為prefix/logs/error.log.
  • --http-log-path=path  設置主請求的HTTP服務器的日志文件的名稱。安裝完成后,可以隨時改變的文件名 ,在nginx.conf配置文件中 使用 的access_log指令。默認情況下,文件名 為prefix/logs/access.log.
  • --user=name  設置nginx工作進程的用戶。安裝完成后,可以隨時更改的名稱在nginx.conf配置文件中 使用的 user指令。默認的用戶名是nobody。
  • --group=name  設置nginx工作進程的用戶組。安裝完成后,可以隨時更改的名稱在nginx.conf配置文件中 使用的 user指令。默認的為非特權用戶。
  • --with-select_module --without-select_module 啟用或禁用構建一個模塊來允許服務器使用select()方法。該模塊將自動建立,如果平台不支持的kqueue,epoll,rtsig或/dev/poll。
  • --with-poll_module --without-poll_module 啟用或禁用構建一個模塊來允許服務器使用poll()方法。該模塊將自動建立,如果平台不支持的kqueue,epoll,rtsig或/dev/poll。
  • --without-http_gzip_module — 不編譯壓縮的HTTP服務器的響應模塊。編譯並運行此模塊需要zlib庫。
  • --without-http_rewrite_module  不編譯重寫模塊。編譯並運行此模塊需要PCRE庫支持。
  • --without-http_proxy_module — 不編譯http_proxy模塊。
  • --with-http_ssl_module — 使用https協議模塊。默認情況下,該模塊沒有被構建。建立並運行此模塊的OpenSSL庫是必需的。
  • --with-pcre=path — 設置PCRE庫的源碼路徑。PCRE庫的源碼(版本4.4 - 8.30)需要從PCRE網站下載並解壓。其余的工作是Nginx的./ configure和make來完成。正則表達式使用在location指令和 ngx_http_rewrite_module 模塊中。
  • --with-pcre-jit —編譯PCRE包含“just-in-time compilation”(1.1.12中, pcre_jit指令)。
  • --with-zlib=path —設置的zlib庫的源碼路徑。要下載從 zlib(版本1.1.3 - 1.2.5)的並解壓。其余的工作是Nginx的./ configure和make完成。ngx_http_gzip_module模塊需要使用zlib 。
  • --with-cc-opt=parameters — 設置額外的參數將被添加到CFLAGS變量。例如,當你在FreeBSD上使用PCRE庫時需要使用:--with-cc-opt="-I /usr/local/include。.如需要需要增加 select()支持的文件數量:--with-cc-opt="-D FD_SETSIZE=2048".
  • --with-ld-opt=parameters —設置附加的參數,將用於在鏈接期間。例如,當在FreeBSD下使用該系統的PCRE庫,應指定:--with-ld-opt="-L /usr/local/lib".

典型實例(下面為了展示需要寫在多行,執行時內容需要在同一行)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM