Liunx伺服器中Nginx安裝及配置檔案詳解

2021-10-23 10:56:06 字數 4708 閱讀 9379

我們編譯安裝nginx來定製自己的模組,機器centos 6.2 x86_64。首先安裝缺少的依賴包:

yum -y install gcc gcc-c++ make libtool zlib zlib-devel openssl openssl-devel pcre pcre-devel
請注意外掛程式與nginx的版本相容問題,一般外掛程式越新越好,nginx不用追新,穩定第一。nginx-1.4.7,nginx-sticky-module-1.1,nginx_upstream_check_module-0.2.0,這個搭配也沒問題。sticky-1.1與nginx-1.6版本由於更新沒跟上編譯出錯。(可以直接使用tengine,預設就包括了這些模組)

# make && make installnginx大部分常用模組,編譯時./configure --help以–without開頭的都預設安裝。

./zlib-1.2.3

## 檢查配置檔案是否正確

# /usr/local/nginx-

1.6/sbin/nginx -t

# ./sbin/nginx -v # 可以看到編譯選項

## 啟動、關閉

# ./sbin/nginx # 預設配置檔案 conf/nginx.conf,-c 指定

# ./sbin/nginx -s stop

或 pkill nginx

## 重啟,不會改變啟動時指定的配置檔案

# ./sbin/nginx -s reload

或 kill -hup `cat /usr/local/nginx-

1.6/logs/nginx.pid`

# service nginx
—— 2015-05-22更新

yum安裝rpm包會比編譯安裝簡單很多,缺省會安裝許多模組,但缺點是如果你想以後安裝第三方模組那就沒辦法了。

1剩下的就yum install nginx搞定,也可以yum install nginx-1.6.3安裝指定版本(前提是你去packages裡看到有對應的版本,預設是最新版穩定版)。

nginx配置檔案主要分成四部分:main(全域性設定)、server(主機設定)、upstream(上游伺服器設定,主要為反向**、負載均衡相關配置)和 location(url匹配特定位置後的設定),每部分包含若干個指令。main部分設定的指令將影響其它所有部分的設定;server部分的指令主要用於指定虛擬主機網域名稱、ip和埠;upstream的指令用於設定一系列的後端伺服器,設定反向**及後端伺服器的負載均衡;location部分用於匹配網頁位置(比如,根目錄「/」,「/images」,等等)。他們之間的關係式:server繼承main,location繼承server;upstream既不會繼承指令也不會被繼承。它有自己的特殊指令,不需要在其他地方的應用。

當前nginx支援的幾個指令上下文:

下面的nginx.conf簡單的實現nginx在前端做反向**伺服器的例子,處理js、png等靜態檔案,jsp等動態請求**到其它伺服器tomcat:

# 很重要的虛擬主機配置

server

#靜態檔案,nginx自己處理,不去backend請求tomcat

## 其它虛擬主機,server 指令開始

}2.2.1 main全域性配置

nginx在執行時與具體業務功能(比如http服務或者email服務**)無關的一些引數,比如工作程序數,執行的身份等。

2.2.4 location

http服務中,某些特定的url對應的一系列配置項。

2.3.1 訪問控制 allow/deny

nginx 的訪問控制模組預設就會安裝,而且寫法也非常簡單,可以分別有多個allow,deny,允許或禁止某個ip或ip段訪問,依次滿足任何乙個規則就停止往下匹配。如:

location /nginx-status
我們也常用 httpd-devel 工具的 htpasswd 來為訪問的路徑設定登入密碼:

# htpasswd -c htpasswd admin

new passwd:

re-type new password:

adding password for user admin

# htpasswd htpasswd admin //修改admin密碼

# htpasswd htpasswd sean //多新增乙個認證使用者

這樣就生成了預設使用crypt加密的密碼檔案。開啟上面nginx-status的兩行注釋,重啟nginx生效。

2.3.2 列出目錄 autoindex

nginx預設是不允許列出整個目錄的。如需此功能,開啟nginx.conf檔案,在location,server 或 http段中加入autoindex on;,另外兩個引數最好也加上去:

autoindex_exact_size off; 預設為on,顯示出檔案的確切大小,單位是bytes。改為off後,顯示出檔案的大概大小,單位是kb或者mb或者gb

autoindex_localtime on;

預設為off,顯示的檔案時間為gmt時間。改為on後,顯示的檔案時間為檔案的伺服器時間

location /images
參考

nginx 學習筆記之nginx伺服器的安裝 二

此處我們主要說明在windows環境和ubuntu16.04下nginx穩定版本的安裝。可採用sudo apt get install或者直接sudo apt install來安裝,官方給出的安裝過程如下 安裝g 環境,安裝方式與上面類似 若沒有安裝g 環境,安裝環境與安裝gcc方式類似。接下來將這...

liunx搭建gitlab伺服器

gitlab 簡介 gitlab 是乙個用於倉庫管理系統的開源專案。使用git作為 管理工具,可通過web介面進行訪問公開的或者私人專案。它擁有與github類似的功能,能夠瀏覽源 管理缺陷和注釋。gitlab擁有github擁有的一切 可以管理團隊對倉庫的訪問,它非常易於瀏覽提交過的版本並提供乙個...

liunx伺服器掛載硬碟

nfs network file system 即網路檔案系統,是freebsd支援的檔案系統中的一種,它允許網路中的計算機之間通過tcp ip網路共享資源。在nfs的應用中,本地nfs的客戶端應用可以透明地讀寫位於遠端nfs伺服器上的檔案,就像訪問本地檔案一樣。本文的兩個linux環境分別為cen...