深入理解Nginx-模塊開發與架構解析(第2版)第一章

爲什麼選擇Nginx
  • 更快
  • 高擴展性
  • 高可靠性
  • 低內存消耗
  • 單機支持10萬以上的併發連接
  • 熱部署
  • 最自由的BSD許可協議

Nginx先天的事件驅動型設計、全異步的網絡I/O處理機制、極少的進程間切換以及許多優化設計,都似的Nginx天生善於處理高併發壓力下的互聯網請求,同時Nginx降低了資源消耗,可以把服務器硬件資源“壓榨”到極致。


apt-get報錯
# E:無法獲得鎖/var/lib/dpkg/lock - open(11:資源暫時不可用)...
sudo rm /var/cache/apt/archives/lock
sudo rm /var/lib/dpkg/lock



# 無法獲得鎖/var/lib/apt/lists/lock...
sudo rm /var/lib/apt/lists/lock



shell中cmd 2 > /dev/null

# 文件描述符
0 —— 標準輸入(stdin)
1 —— 標準輸出(stdout)
2 —— 標準錯誤(stderr)

# 分別單獨定向stderr和stdout到文件
cmd 2 > stderr.txt 1 > stdout.txt

# stderr和stdout重定向到同一個文件
cmd > output.txt 2 > &1
cmd & > output.txt
cmd > & output.txt

# Linux特殊文件/dev/null
/dev/null是一個特殊設備文件,這個文件接收的任何數據都會被丟棄。因此,null這個設備通常被稱爲位桶(bit bucket)或黑洞。
所以,2 > /dev/null是將錯誤stderr刪掉

nginx安裝和啓停
# 安裝nginx前提
apt-get install gcc
apt-get install libpcre3 libpcre3-dev
apt-get install zlib1g zlib1g-dev
apt-get install openssl openssl-dev

# 官網[下載](http://nginx.org/en/download.html)source code
tar -zxvf nginx..
cd nginx..
./configure
make 
make install

# 默認方式啓動
/usr/local/nginx/sbin/nginx
# 訪問127.0.0.1:80看到nginx歡迎界面
# (1)默認使用/usr/local/nginx/conf/nginx.conf配置文件,可在configure加參數--conf-pat=PATH指定配置文件安裝位置
# (2)啓動命令加參數-c abspath指定啓動使用的配置文件路徑
# (3)啓動命令加參數-p abspath指定nginx的安裝目錄
# (4)啓動命令加參數-g臨時指定一些全局配置參數,以使新的配置生效。新配置不能存在於nginx.conf中,否則會衝突。若叫-g參數,在啓動會停止時也需將-g參數加上
# (5)測試配置信息是否正確
/usr/local/nginx/sbin/nginx -t
# (6)測試配置階段不輸出信息
/usr/local/nginx/sbin/nginx -t -q
# (7)顯示版本信息
/usr/local/nginx/sbin/nginx -v
# (8)快速停止服務
/usr/local/nginx/sbin/nginx -s stop  # s告訴nginx程序向正在運行的nginx服務發送信號量
# (9)顯示編譯階段的參數
/usr/local/nginx/sbin/nginx -V
# (10)優雅的停止服務
/usr/local/nginx/sbin/nginx -s quit
sudo kill -s SIGQUIT nginx_pid
# (11)重新加載nginx.conf
/usr/local/nginx/sbin/nginx -s reload
sudo kill -s SIGHUP nginx_pid
# (12)日誌文件回滾
/usr/local/nginx/sbin/nginx -s reopen
sudo kill -s SIGUSR1 nginx_pid
# (13)平滑升級nginx
替換原有nginx二進制文件,nginx支持不重啓平滑升級。包括以下步驟:
  # 1)向master發送USER2信號量,告知運行的舊版nginx準備升級
  sudo kill -s SIGUSR2 nginx_master_pid  # 會將pid文件重命名
  # 2)啓動新版nginx
  # 3)kill發送SIGQUIT優雅關閉舊版nginx,隨後將新版本nginx服務運行
# (14)使用-h或-?顯示支持的所有參數
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章