Nginx安裝及配置詳解
- 安裝。
首先保證編譯環境:
yum -y install gcc gcc-c++ automake autoconf libtool make
然後需要安裝pcre、zlib、openssl。如果有,就不需要安裝。(可能可以透過yum安裝,暫未試過)
三者安裝方式基本一致,下載原始碼解壓,configure然後make && make install即可,此處不贅述
附網址:
pcre-8.30.tar.gz
zlib-1.2.8.tar.gz
openssl-1.0.2a.tar.gz
安裝nginx:
tar zxvf nginx-x.x.xx.tar.gz
cd nginx-x.x.xx
./configure (如果不指定任何引數,會被預設安裝到/usr/local/nginx下)
安裝時需要提供pcre庫的地址,只需要--with-pcre=就可以解決,否則會報錯。
然後
make && make install
當然configure指令碼是支援很多選項的,接下來將對其的選項一一做出分析。
--prefix= nginx安裝路徑,若無,則預設為/usr/local/nginx
--sbin-path= nginx可執行檔案安裝路徑,只能是安裝時指定,若無,則預設為/sbin/nginx
--conf-path= 在沒有給定-c選項下預設的nginx.conf的路徑,若無,則預設為/conf/nginx.conf
--pid-path= 在nginx.conf中沒有指定pid指令的情況下,預設的nginx.pid的路徑。若無,則預設為/logs>nginx.pid
--lock-path= nginx.lock檔案的路徑
--error-log-path= 在nginx.conf中沒有指定error_log指令的情況下,預設的錯誤日誌的路徑。若無,則預設為/logs/error.log
--http-log-path= 在nginx.conf中沒有指定access_log指令的情況下,預設的訪問日誌的路徑。若無,則預設為/logs/access.log
--http-client-body-temp-path=PATH 指定http客戶端請求快取檔案存放目錄的路徑
--http-proxy-temp-path=PATH 指定http反向代理快取檔案存放目錄的路徑
--http_fastcgi-temp-path 指定hhtp FastCGI快取檔案存放目錄的路徑
--user= 在nginx.conf中沒有指定user指令的情況下,預設的nginx使用的使用者。若無,則預設為nobody
--group= 在nginx.conf中麼有指定user指令的情況下,預設的nginx使用的租。若無,則預設為nobody
--builddir=DIR 指定編譯的目錄
--add-module=PATH 新增一個在指定路徑中能找到的第三方模組
--with-rtsig_module 啟用rtsig模組
--with-select_module(--without-select_module) 允許或不允許開啟select模式,如果configure沒有找到更合適的模式,比如:kqueue(sun os)、epoll(linux kernel 2.6+)、rtsig(實時訊號)或/dev/poll(一種類似select的模式,底層實現與select基本相同,都是採用輪訓方法),select模式將是預設安裝模式。
--with-poll_module(--without-poll_module) 允許或不允許開啟poll模式,如果沒有更適合的模式,比如:kqueue(sun os)、epoll(linux kernel 2.6+),則可以開啟。
--with-http_ssl_module 開啟http ssl模組,使nginx可以支援https請求,這個模組需要已經安裝OPENSSL,在debian上是libssl。
--with-http_realip_module 啟用ngx_http_realip_module
--with-http_addition_module 啟用ngx_http_addition_module
--with-http_sub_module 啟用ngx_http_sub_module
--with-http_dav_module 啟用ngx_http_dav_module
--with-http_flv_module 啟用ngx_http_flv_module
--with-http_stub_status_module 啟用"server status"頁
--with-http_perl_module 啟用ngx_http_perl_module
--with-perl_modules_path=PATH 指定perl模組的路徑
--with-mail 啟用IMAP4/POP3/SMTP代理模組
--with-mail_ssl_module 啟用ngx_mail_ssl_module
--with-cc=PATH 指定c編譯器的路徑
--with-cpp=PATH 指定c前處理器的路徑
--with-cpu-opt=CPU 為特定的CPU編譯,有效的值包括:pentium、pentiumpro、pentium3、pentium4、athlon、opteron、amd64、sparc32、sparc64、ppc64
--with-pcre=DIR 指定PCRE庫原始碼的路徑
--with-pcre-opt=OPTIONS 設定PCRE的額外編譯選項
--with-md5=DIR 設定MD5庫的原始碼路徑
--with-md5-opt=OPTIONS 設定MD5庫的額外編譯選項
--with-md5-asm 使用MD5彙編原始碼
--with-sha1=DIR 設定SHA1庫的原始碼路徑
--with-sha1-opt=OPTIONS 設定SHA1庫的額外編譯選項
--with-sha1-asm 使用SHA1庫的彙編原始碼
--with-zlib=DIR 設定zlib庫的原始碼路徑
--with-zlib-opt=OPTIONS 設定zlib庫的額外編譯選項
--with-zlib-asm=CPU zlib針對CPU的最佳化,有效的值包括:pentiu、pentiumpro
--with-openssl=DIR 設定OPENSSL庫的原始碼路徑
--with-openssl-opt=OPTIONS 設定OPENSSL庫的額外編譯選項
--with-debug 啟用除錯日誌
--without-http 禁用http server
--without-http_charset_module 禁用ngx_http_charset_module
--without-http_gzip_module 禁用ngx_http_gzip_module,如要啟用,需要zlib
--without-http_ssi_module 禁用ngx_http_ssi_module
--without-http_userid_module 禁用ngx_http_userid_module
--without-http_access_module 禁用ngx_http_access_module
--without-http_auth_basic_module 禁用ngx_http_auth_basic_module
--without-http_autoindex_module 禁用ngx_http_autoindex_module
--without-http_geo_module 禁用ngx_http_geo_module
--without-http_map_module 禁用ngx_http_map_module
--without-http_referer_module 禁用ngx_http_referer_module
--without-http_rewrite_module 禁用ngx_http_rewrite_module,如果啟用,需要PCRE
--without-http_proxy_module 禁用ngx_http_proxy_module
--without-http_fastcgi_module 禁用ngx_http_fastcgi_module
--without-http_memcached_module 禁用ngx_http_memcached_module
--without-http_limit_zone_module 禁用ngx_http_limit_zone_module
--without-http_empty_gif_module 禁用ngx_http_empty_gif_module
--without-http_browser_module 禁用ngx_http_browser_module
--without-http_upstream_ip_hash_module 禁用ngx_http_upstream_ip_hash_module
--without-pcre 禁止PCRE庫的使用,同時也會禁止HTTP rewrite模組,在"location"配置指令中的正規表示式也需要PCRE
在不同的版本之間,選項可能有一些變化,請使用./configure --help命令來檢查當前的選項列表。
- nginx.conf配置。
【code 3-1】
# 使用的使用者和組
user www www;
# 指定工作衍生程式數(一般等於cpu總核數的兩倍,例如兩個四核CPU,則總核數為8)
worker_processes 8;
# 指定錯誤日誌存放路徑,錯誤日誌記錄級別可選項為:[ debug | info | notice | warn | error | crit ]
error_log /data1/logs/nginx_error.log crit;
# 指定pid存放的路徑
pid /usr/local/webserver/nginx/nginx.pid;
# 指定檔案描述符數量
worker_rlimit_nofile 51200;
events
{
# 使用的網路I/O模型,linux系統推薦採用epoll模型,FreeBSD系統推薦採用kqueue模型
use epoll;
# 允許的連線數
worker_connections 51200;
}
http
{
include mime.types;
default_type application/octet-stream;
# 設定使用的字符集,如果一個網站有多種字符集,請不要隨便設定,應讓程式設計師在html程式碼中透過meta標籤設定
# charset gb2313;
server_names_hash_bucket_size 128;
client_header_buffer_size 32k;
large_client_header_buffers 4 32k;
#設定客戶端能夠上傳的檔案大小
client_max_body_size 8m;
sendfile on;
tcp_nopush on;
keepalive_timeout 60;
tcp_nodelay on;
fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;
fastcgi_buffer_size 64k;
fastcgi_buffers 4 64k;
fastcgi_busy_buffers_size 128k;
fastcgi_temp_file_write_size 128k;
# 開啟gzip壓縮
gzip on;
gzip_min_length 1k;
gzip_buffers 4 16k;
gzip_http_version 1.1;
gzip_comp_level 2;
gzip_types text/plain application/x-javascript text/css application/xml;
gzip_vary on;
# limit_zone crawler $binary_remote_addr 10m;
server
{
listen 80;
server_name yourdomain.com;
index index.html index.htm;
root /data0/htdocs;
# limit_conn crawler 20;
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 30d;
}
location ~ .*\.(js|css)?$
{
expires 1h;
}
log_format access ' $remote_addr - $remote_user [$time_local] "$request" '
' $status $body_bytes_sent "$http_referer" '
' "$http_user_agent" $http_x_forwarded_for ';
access_log /data1/logs/access.log access;
}
}
透過上述nginx.conf配置檔案示例,可以看出nginx.conf配置檔案結構主要由以下部分組成:
【code 3-2】
……
events
{
……
}
http
{
……
server
{
……
}
server
{
……
}
……
}
以上內容部分摘自並整理於——
《實戰Nginx:取代Apache的高效能web伺服器》
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29773961/viewspace-1389042/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- nginx伺服器安裝及配置檔案詳解Nginx伺服器
- Nginx 伺服器安裝及配置檔案詳解Nginx伺服器
- nginx安裝及配置Nginx
- Docker的安裝配置及使用詳解Docker
- linux安裝nginx及配置(一)LinuxNginx
- mac下安裝nginx及相關配置MacNginx
- 詳解Linux(Centos)之安裝Nginx及注意事項LinuxCentOSNginx
- nginx配置詳解Nginx
- nginx原始碼編譯安裝(詳解)Nginx原始碼編譯
- 詳解:Flannel安裝與配置
- zabbix安裝—–nginx安裝和配置Nginx
- Nginx安裝與配置Nginx
- Nginx基本安裝配置Nginx
- Nginx 安裝與配置Nginx
- nginx快取使用詳解,nginx快取使用及配置步驟Nginx快取
- 蘋果cms安裝及配置詳細教程蘋果
- CentOS 7 安裝配置 VNC 詳解CentOSVNC
- Nginx 安裝配置介紹Nginx
- mac下安裝配置nginxMacNginx
- Linux Nginx 安裝配置LinuxNginx
- Nginx服務安裝配置Nginx
- Nginx的安裝配置使用Nginx
- CentOS配置Nginx官方的Yum源及yum安裝phpCentOSNginxPHP
- Docker介紹及安裝詳解Docker
- Nginx安裝(詳細版本)Nginx
- Nginx日誌配置詳解Nginx
- nginx配置檔案詳解Nginx
- Webpack安裝配置及打包詳細過程Web
- nginx 特點及安裝Nginx
- nginx 詳解 – 詳細配置說明Nginx
- nginx 詳解 - 詳細配置說明Nginx
- ubuntu20安裝nginx支援多站點及代理配置UbuntuNginx
- gerrit+nginx+centos安裝配置NginxCentOS
- 詳解Linux下Nginx+Tomcat整合的安裝與配置的步驟LinuxNginxTomcat
- Nginx的配置檔案詳解Nginx
- Nginx如何配置HTTPS詳解NginxHTTP
- Nginx location配置詳細解釋Nginx
- nginx安裝及自啟動Nginx