Nginx 是 C語言 開發(fā),建議在 Linux 上運行,當然,也可以安裝 Windows 版本,本篇則使用CentOS7 作為安裝環(huán)境。
一. gcc 安裝
安裝 nginx 需要先將官網下載的源碼進行編譯,編譯依賴 gcc 環(huán)境,如果沒有 gcc 環(huán)境,則需要安裝:
yum install gcc-c++
二. PCRE pcre-devel 安裝
PCRE(Perl Compatible Regular Expressions) 是一個Perl庫,包括 perl 兼容的正則表達式庫。nginx 的 http 模塊使用 pcre 來解析正則表達式,所以需要在 linux 上安裝 pcre 庫,pcre-devel 是使用 pcre 開發(fā)的一個二次開發(fā)庫。nginx也需要此庫。命令:
yum install -y pcre pcre-devel
三. zlib 安裝
zlib 庫提供了很多種壓縮和解壓縮的方式, nginx 使用 zlib 對 http 包的內容進行 gzip ,所以需要在 Centos 上安裝 zlib 庫。
yum install -y zlib zlib-devel
四. OpenSSL 安裝
OpenSSL 是一個強大的安全套接字層密碼庫,囊括主要的密碼算法、常用的密鑰和證書封裝管理功能及 SSL 協(xié)議,并提供豐富的應用程序供測試或其它目的使用。
nginx 不僅支持 http 協(xié)議,還支持 https(即在ssl協(xié)議上傳輸http),所以需要在 Centos 安裝 OpenSSL 庫。
yum install -y openssl openssl-devel 官網下載
1.直接下載.tar.gz安裝包
2.使用wget命令下載(推薦)。
wget -c
我下載的是1.10.1版本,這個是目前的穩(wěn)定版。
解壓依然是直接命令:
tar -zxvf nginx-1.10.1.tar.gz cd nginx-1.10.1 配置
其實在 nginx-1.10.1 版本中你就不需要去配置相關東西,默認就可以了。當然,如果你要自己配置目錄也是可以的。
1.使用默認配置
./configure
2.自定義配置(不推薦)
./configure --prefix=/usr/local/nginx --conf-path=/usr/local/nginx/conf/nginx.conf --pid-path=/usr/local/nginx/conf/nginx.pid --lock-path=/var/lock/nginx.lock --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --with-http_gzip_static_module --http-client-body-temp-path=/var/temp/nginx/client --http-proxy-temp-path=/var/temp/nginx/proxy --http-fastcgi-temp-path=/var/temp/nginx/fastcgi --http-uwsgi-temp-path=/var/temp/nginx/uwsgi --http-scgi-temp-path=/var/temp/nginx/scgi
注:將臨時文件目錄指定為/var/temp/nginx,需要在/var下創(chuàng)建temp及nginx目錄
編譯安裝make make install
查找安裝路徑:
whereis nginx
啟動、停止nginxcd /usr/local/nginx/sbin/ ./nginx ./nginx -s stop ./nginx -s quit ./nginx -s reload
./nginx -s quit:此方式停止步驟是待nginx進程處理任務完畢進行停止。
./nginx -s stop:此方式相當于先查出nginx進程id再使用kill命令強制殺掉進程。
查詢nginx進程:
ps aux|grep nginx 重啟 nginx
1.先停止再啟動(推薦):
對 nginx 進行重啟相當于先停止再啟動,即先執(zhí)行停止命令再執(zhí)行啟動命令。如下:
./nginx -s quit ./nginx
2.重新加載配置文件:
當 ngin x的配置文件 nginx.conf 修改后,要想讓配置生效需要重啟 nginx,使用-s reload不用先停止 ngin x再啟動 nginx 即可將配置信息在 nginx 中生效,如下:
./nginx -s reload
啟動成功后,在瀏覽器可以看到這樣的頁面:
開機自啟動即在rc.local增加啟動代碼就可以了。
vi /etc/rc.local
增加一行/usr/local/nginx/sbin/nginx
設置執(zhí)行權限:
chmod 755 rc.local
到這里,nginx就安裝完畢了,啟動、停止、重啟操作也都完成了,當然,你也可以添加為系統(tǒng)服務,我這里就不在演示了。
nginx 配置文件詳解#運行用戶 user nobody; #啟動進程,通常設置成和cpu的數(shù)量相等 worker_processes 1; #全局錯誤日志及PID文件 #error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; #pid logs/nginx.pid; #工作模式及連接數(shù)上限 events { #epoll是多路復用IO(I/O Multiplexing)中的一種方式, #僅用于linux2.6以上內核,可以大大提高nginx的性能 use epoll; #單個后臺worker process進程的并發(fā)鏈接數(shù) worker_connections 1024; # 并發(fā)總數(shù)是 worker_processes 和 worker_connections 的乘積 # 即 max_clients = worker_processes * worker_connections # 在設置了反向代理的情況下,max_clients = worker_processes * worker_connections / 4 為什么 # 為什么上面反向代理要除以4,應該說是一個經驗值 # 根據以上條件,正常情況下的Nginx Server可以應付的連接數(shù)為:4 * 8000 = 32000 # worker_connections 值的設置跟物理內存大小有關 # 因為并發(fā)受IO約束,max_clients的值須小于系統(tǒng)可以打開的文件數(shù) # 而系統(tǒng)可以打開的文件數(shù)和內存大小成正比,一般1GB內存的機器上可以打開的文件數(shù)大約是10萬左右 # 我們來看看360M內存的VPS可以打開的文件句柄數(shù)是多少: # $ cat /proc/sys/fs/file-max # 輸出 34336 # 32000 < 34336,即并發(fā)連接總數(shù)小于系統(tǒng)可以打開的文件句柄總數(shù),這樣就在操作系統(tǒng)可以承受的范圍之內 # 所以,worker_connections 的值需根據 worker_processes 進程數(shù)目和系統(tǒng)可以打開的文件總數(shù)進行適當?shù)剡M行設置 # 使得并發(fā)總數(shù)小于操作系統(tǒng)可以打開的文件數(shù)目 # 其實質也就是根據主機的物理CPU和內存進行配置 # 當然,理論上的并發(fā)總數(shù)可能會和實際有所偏差,因為主機還有其他的工作進程需要消耗系統(tǒng)資源。 # ulimit -SHn 65535 } http { #設定mime類型,類型由mime.type文件定義 include mime.types; default_type application/octet-stream; #設定日志格式 log_format main \'$remote_addr - $remote_user [$time_local] "$request" \' \'$status $body_bytes_sent "$http_referer" \' \'"$http_user_agent" "$http_x_forwarded_for"\'; access_log logs/access.log main; #sendfile 指令指定 nginx 是否調用 sendfile 函數(shù)(zero copy 方式)來輸出文件, #對于普通應用,必須設為 on, #如果用來進行下載等應用磁盤IO重負載應用,可設置為 off, #以平衡磁盤與網絡I/O處理速度,降低系統(tǒng)的uptime. sendfile on; #tcp_nopush on; #連接超時時間 #keepalive_timeout 0; keepalive_timeout 65; tcp_nodelay on; #開啟gzip壓縮 gzip on; gzip_disable "MSIE [1-6]."; #設定請求緩沖 client_header_buffer_size 128k; large_client_header_buffers 4 128k; #設定虛擬主機配置 server { #偵聽80端口 listen 80; #定義使用 www.nginx.cn訪問 server_name www.nginx.cn; #定義服務器的默認網站根目錄位置 root html; #設定本虛擬主機的訪問日志 access_log logs/nginx.access.log main; #默認請求 location / { #定義首頁索引文件的名稱 index index.php index.html index.htm; } # 定義錯誤提示頁面 error_page 500 502 503 504 /50x.html; location = /50x.html { } #靜態(tài)文件,nginx自己處理 location ~ ^/(images|javascript|js|css|flash|media|static)/ { #過期30天,靜態(tài)文件不怎么更新,過期可以設大一點, #如果頻繁更新,則可以設置得小一點。 expires 30d; } #PHP 腳本請求全部轉發(fā)到 FastCGI處理. 使用FastCGI默認配置. location ~ .php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } #禁止訪問 .htxxx 文件 location ~ /.ht { deny all; } } }
分享題目:CentOS7下安裝Nginx
當前路徑:http://www.rwnh.cn/article6/cpgoog.html
成都網站建設公司_創(chuàng)新互聯(lián),為您提供云服務器、網站收錄、網頁設計公司、關鍵詞優(yōu)化、外貿網站建設、手機網站建設
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)