Nginx概念及基礎安裝--詳細講解
1.主要內容:
Nginx的基礎
特性
配置部署
優化(瞭解)
2.Nginx 是什麼?
Nginx是一個開源的,支援高效能,高併發的www服務和代理服務軟體---web服務軟體。
它是由俄羅斯人Igor Sysoev 開發的,
優點:
效能:佔用的系統資源更少,3萬併發開啟10個執行緒小號記憶體200MB 支援更多的併發連線,幾萬併發小事情 達到更高的訪問效率 支援非同步網路I/O事件模型epoll(linux 2.6+)
功能:優秀的web服務軟體,支援反向代理負載均衡及快取服務 代理軟體有:lvs, Haproxy等軟體,為什麼選擇呢? nginx部署更簡單,方便啊 快取:他又類似快取服務軟體(很少用) 利用自身的proxy_cache 模組實現類Squid等專業快取功能
安裝配置:更方便,簡單,靈活 支援的作業系統: UNIX,BSD,Mac OS X, Solaris,linux, Microsoft等作業系統 常用的組合環境:LNMP 或LEMP(E 取自nginx的engine x)
2015年web服務軟體排名:
1.apache 32.40%
2.Nginx 14.29%
3.microsoft [laɪt] [spiːd] 31.65% iis
4.google servers 2.07%
5.tomcat 0.4%
3.Nginx的基本特性
a)可針對靜態資源高速高併發訪問及快取 b)可使用反向代理加速,並且可進行資料快取。 c)據有簡單負載均衡、節點監控檢測和容錯功能 d)支援FastCGI服務的快取加速 CGI全稱是“公共閘道器介面”(Common Gateway Interface), HTTP伺服器與你的或其它機器上的程式進行“交談”的一種工具, 其程式一般執行在網路伺服器上。 CGI可以用任何一種語言編寫,只要這種語言具有標準輸入、輸出和環境變數。 如php,perl,tcl等。 相對於CGI來說FastCGI有兩點是和其不同的。 第一點是FastCGI的程序是永久性的,也就是說用於處理請求的程序隨著請求的結束並不會退出,而是繼續執行等待有新的請求來處理。 這樣就解決了CGI由於頻繁的建立和關閉程序所帶來的效能問題; 第二點是FastCGI和web伺服器之間的通訊方式是和CGI不同的。 並且通訊時全雙工的模式 f)支援FastCGI, Uwsgi, SCGI, Memcached servers的加速和快取 g)具有模組化的架構
4.nginx所具有其他的www服務特性:
a)支援基於名字,埠及ip的多虛擬主機站點:基於埠, ip, 域名 c)可進行簡單,方便,靈活的配置和管理 d)支援修改nginx配置,並且在程式碼上線時,可平滑重啟 平滑重啟: nginx 執行新的工作程序並從容關閉舊的工作程序,通知工作程序關閉監聽套接字, 但是繼續為當前連線的客戶提供服務 所有的客戶端的服務完成後,舊的工作程序被關閉 e)可自定義訪問日誌格式,臨時緩衝寫日誌操作,快速日誌輪詢及通過rsyslog處理日誌 f)可利用訊號控制Nginx程序 kill -l g)支援rewrite模組,支援URI重寫及正則表示式匹配 h)支援FLV流和MP4流技術產品應用 I)支援HTTP響應速率限制 J)支援同一ip地址的併發連線或請求數限制 K)支援郵件服務代理
編譯安裝Nginx環境:
1.準備工作:
1.檢視當前系統版本:cat /etc/redhat-release --centos6.7 yum -y install lrzsz yum -y install open gcc uname -a
2.安裝Nginx所需的pcre庫及一些包 --用途(為了使Nginx具有URI重寫功能rewrite)
通常採用yum的方式: 配置yum源(採用網路源) yum -y install openssl openssl-devel gcc gcc-c++ yum -y install pcre pcre-devel 檢視版本:rpm -qa pcre
3.選擇版本:
穩定版,開發版,歷史穩定版 首先穩定版(最新版晚6-10個月為佳)
4.為神馬安裝openssl-devel,因為HTTPS服務需要這個模組
什麼是HTTPS呢?
a)http叫超文字傳輸協議,使用TCP埠80,預設情況下資料是明文傳送的,
資料可以通過抓包工具捕獲到,因此在internet上,
有些比較重要的站點的http伺服器需要使用PKI(公鑰基礎結構)技術來對資料加密!
這也就是https了;
b)https叫安全的超文字傳輸協議,使用TCP埠443,
他的資料會用PKI中的公鑰進行加密,
這樣抓包工具捕獲到的資料包也沒有辦法看包中的內容,安全性大大提高,
要解密資料的話就要用到PKI中的私鑰。
所以一些安全性比較高的網站如:網上銀行,電子商務網站都需要用https訪問!
View Code
5.mkdir /app
cd /app --用於存在各種軟體 wget -q http://nginx.org/download/nginx-1.6.3.tar.gz --下載軟體包 ls --檢視當前目錄下的檔案,檢視nginx是否下載完成 useradd nginx -s /sbin/nologin -M 建立nginx使用者並禁止此使用者登入系統 -M 不建立使用者目錄 -s使用者登入後使用的shell名稱,實際這裡是不允許登陸系統 tail -1 /etc/passwd 檢視使用者是否存在 tar xf nginx-1.6.3.tar.gz -解壓 cd nginx-1.6.3 --進入解壓目錄 ./configure 配置 --user=nginx 程序使用者許可權 --group=nginx 程序使用者組許可權 --prefix=/usr/local/nginx1.4.5 設定安裝路徑 --with-http_stub_status_module 啟用狀態資訊 --with-http_ssl_module 啟用ssl功能 make 編譯 make install 安裝安裝命令
6.此時不算安裝完,需要啟動前檢查配置檔案語法
/usr/local/nginx1.6.3/sbin/nginx -t 在啟動服務錢檢測語法非常重要,可以防止因配置錯誤導致網站重啟或者重新載入配置 等對使用者的影響
7.啟動Nginx服務
/usr/local/nginx1.6.3/sbin/nginx
8.檢視服務是否啟動成功,方法:檢視埠
lsof -i :80 netstat -lnt | grep 80
9.訪問127.0.0.1 | curl 127.0.0.1
10.總結:安裝容易出現的錯誤:
1.nginx: [emerg] getpwnam("nginx") failed 2.訪問不了頁面: 1.關閉selinux setenforce 0 --臨時關閉selinux的方法getenforce(檢視) 2.關閉防火牆 /etc/init.d/iptables stop --暫時關閉防火牆 3.檢視日誌:cat /usr/local/nginx1.6.3/logs/error.log 4.ping ip 和檢視埠
11. server {
listen 80;
server_name localhost;
location / {
root html; ----------/home/www ---更改網站根目錄
index index.html index.htm;
}
12.重啟服務
方法1:殺程序重啟
a) 殺程序 lsof -i :80 kill -9 pid 重啟 /usr/local/nginx1.6.3/sbin/nginx b) ps -ef | grep nginx |awk '{print $2}'| xargs kill -9 /usr/local/nginx1.6.3/sbin/nginx
方法2:配置檔案重啟
a) 檢查語法 /usr /local/nginx/sbin/nginx -t /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf -c制定配置檔案的路徑,不加-c nginx會自動載入預設路徑的配置檔案。 b) /usr/local/nginx/sbin/nginx -t 檢查語法 /usr/local/nginx/sbin/nginx -h --檢視幫助 #-s signal : send signal to a master process: stop, quit, reopen, reload /usr/local/nginx/sbin/nginx -s reload (reload如果語法錯誤不會成功,有時候不輸出錯誤) c) 把nginx的啟動檔案放在/etc/init.d裡面 server nginx restart chkconfig --add nginx ---意義是開機自啟動
相關推薦
Nginx概念及基礎安裝--詳細講解
1.主要內容: Nginx的基礎 特性 配置部署 優化(瞭解) 2.Nginx 是什麼? Nginx是一個開源的,支援高效能,高併發的www服務和代理服務軟體---web服務軟體。 它是由俄羅斯人Igor Sysoev 開
Pycharm及python安裝詳細教程
nbsp exe www. center project 完成 查詢 win window 首先我們來安裝python 1、首先進入網站下載:點擊打開鏈接(或自己輸入網址https://www.python.org/downloads/),進入之後如下圖,選擇圖中紅色圈中區
docker學習(二)——docker的基本概念及基礎使用
一張圖概括整篇文章內容: 來自:https://medium.com/@nagarwal/lifecycle-of-docker-container-d2da9f85959 lxc->libcontainer->runC OCI(Open Container I
蘋果mac電腦中brew的安裝使用及解除安裝詳細教程
brew 又叫Homebrew,是Mac OSX上的軟體包管理工具,能在Mac中方便的安裝軟體或者解除安裝軟體, 只需要一個命令 brew 又叫Homebrew,是Mac OSX上的軟體包管理工具,能在Mac中方便的安裝軟體或者解除安裝軟體, 只需要一個命令, 非常方
mac中brew的安裝使用及解除安裝詳細教程
brew 又叫Homebrew,是Mac OSX上的軟體包管理工具,能在Mac中方便的安裝軟體或者解除安裝軟體, 只需要一個命令 brew 又叫Homebrew,是Mac OSX上的軟體包管理工具,能在Mac中方便的安裝軟體或者解除安裝軟體, 只需要一個命令, 非常方便
vue概念及基礎學習
前面囉嗦了一堆兒,補了點知識。 再來學Vue和webpack。 webpack是一款模組載入器兼打包工具,它能把各種資源,例如JS(含JSX)、coffee、樣式(含less/sass)、圖片等都作為模組來使用和處理。 對初學者來說,真的有些亂,讀完這些,概念差不多了,
Zookeeper分散式過程協同技術 - 概念及基礎
Zookeeper分散式過程協同技術 - 概念及基礎 Zookeeper是什麼? Zookeeper是一種分散式過程協同技術,其所提供的客戶端API功能強大,其中包括: 保障強一致性。有序性和永續性。 實現通用的同步原語的能力。 在實際分散式系統中,併發往往導致不正確的行為。Zookeeper提供了一種簡單
Nginx編譯安裝及編譯參數講解
支持 assembler 臨時文件 files sha cached erro mp4 工具 實驗環境說明:操作系統:Centos 7 64位Nginx版本:Nginx 1.12.2 編譯安裝前的準備:安裝Nginx編譯安裝需要依賴的一些包yum install gcc g
linux系統MySQL的安裝和hive叢集安裝詳細步驟及講解
此安裝步驟是多年經驗總結,一定要嚴格按照步驟進行,一定要細心!!! MySQL的安裝是重中之重!!!出現錯誤很難修改!!! 另外安裝命令不要複製!!!自己手敲!!!不要複製!!!複製可能導致出錯!!! 空格,小數點要格外注意,都不能少 一、先刪除Linux自帶的MySQL 1、找到
Hadoop叢集配置安裝,詳細步驟及講解
**涉及linux命令一定要注意大小寫和空格,linux系統對此敏感** **hadoop叢集的安裝一定要靜下心一步一步來** 1、關閉防火牆(防火牆最好關閉,不然以後linux操作會有很多麻煩) 1)輸入命令: vi etc/selinux/config 其中改為 SELINU
linux下安裝nginx+php+mysql環境詳細講解
linux環境:centos 7.0 64位 nginx:nginx-1.8.0.tar.gz php: php-7.1.1.tar.gz mysql: mysql-5.6.21.tar.gz libxml2:libxml2-2.9.1.tar.gz openss
nginx超詳細講解之location,rewrite,反向代理及負載均衡
一、location 的語法 locltion可以把不同方式的請求,定位到不同的處理方式上(個人感覺有點像java中的filter) 1.1location分類及用法 location大致分為三
圖解集合7:紅黑樹概念、紅黑樹的插入及旋轉操作詳細解讀
集合 得到 2個 排序。 數據流 except boolean 修正 split 原文地址http://www.cnblogs.com/xrq730/p/6867924.html,轉載請註明出處,謝謝! 初識TreeMap 之前的文章講解了兩種Map,分別是HashMa
Tornado 基礎安裝及啟動
all fix 3.x div **kwargs pos cat highlight dmi Tornado 基礎安裝及啟動 2017年03月24日 hairui Tornado 115 0 Tornado的安裝 Python 2.7.x 安裝學習
NAT穿透的詳細講解及分析
設置 網通 我會 什麽 報告 pub 後端 火墻 聯系 原文地址:http://bbs.pediy.com/thread-131961.htm 一、什麽是NAT?為什麽要使用NAT?NAT是將私有地址轉換為合法IP地址的技術,通俗的講就是將內網與內網通信時怎麽將內網私有IP
OpenStack之安裝4網卡ubuntu-14.04及網絡詳細配置
安裝ubuntu14.04 網絡配置 virtualbox openstack 四個網卡:網絡1:物理機與虛擬機連接,為host-only類型,主要用來管理網絡,它的dhcp off。網絡2:Open vSwitch占用網絡,也是Host-only類型網絡3:OpenStack中有一些存儲組件
淺談Nginx服務器的安裝,升級、配置、LNMP平臺搭建、nginx+fastcgi、nginx高級技術-地址重寫及優化
perl 新的 大文件 文件的 add 並發連接數 文件配置 redirect ntp Nginx服務器:是俄羅斯人編寫的十分輕量級的HTTP服務器,是一個高性能的HTTP和反向代理服務器,同時也是一個IMAP/POP3/SMTP代理服務器 一、安裝Nginx軟件: 準備工
CentOS6.9及CentOS7.4的安裝詳細步驟
自動掛載 圖形化 安裝 storage size you dfa select term 安裝前的準備工作:1 VMware已經安裝好2 鏡像文件下載好(在這裏,我用的是CentOS-6.9-x86_64-bin-DVD1.iso和CentOS-7-x86_64-E
MySQL的安裝及基礎命令
方式安裝 大小寫 風險 inux admin 高性能 roc 最簡 更改 前面我們介紹了apache httpd server ,而在企業網站平臺中,為了提供更豐富.強大的web應用功能,還需要後臺數據庫和網頁編程語言等多種角色的支持,這裏我們來安裝一下MySQL數據庫。
Centos6.6安裝選包及基礎場景說明
oss 圖片 vpd png type 說明 dff 51cto 安裝 d Centos6.6安裝選包及基礎場景說明