configure腳本:
1、cat <EOF >>test.txt
???? EOF
多行追加
2、uname
用于打印當前操作系統的相關信息
3、2>/dev/null
/dev/null 代表空設備文件
1 表示stdout標準輸出,系統默認值是1,所以">/dev/null"等同于"1>/dev/null"?
2 表示stderr標準錯誤?
& 表示等同于的意思,2>&1,表示2的輸出重定向等同于1
4、configure腳本生成的文件
默認在obj/
|---ngx_auto_headers.h????保存了宏
|---autoconf.err????保存configure執行過程中產生的結果
|---ngx_auto_config.h??????? 保存了宏
|---ngx_modules.c?? 關鍵文件,定義了ngx_modules數組,該數組指明了每個模塊在Ngnix中的優先級
|---src????存放編譯時產生的目標文件
|????????|---core
|????????|---event
|????????|????????|---modules
|????????|---os
|????????|????????|---unix
|????????|????????|---win32
|????????|---http
|????????|????????|---modules
|????????|????????????????|---perl?
|????????|---misc
|---Makefile????編譯Nginx工程、在加入install參數后安裝Nginx
Nginx的命令行控制:
1、默認啟動方式
????直接執行nginx二進制程序
????/usr/local/nginx/sbin/nginx
????不加參數默認讀取 默認路徑下的配置文件/use/local/nginx/conf/nginx.conf
2、另行指定配置文件
????/usr/local/nginx/sbin/nginx -c /tmp/nginx.conf
????此時會讀取-c 后面的文件來啟動Nginx
3、另行指定安裝目錄
????-p ??
4、另行指定全局配置項
????/usr/local/nginx/sbin/nginx -g "pid /var/nginx/test.pid;"會把pid文件寫到test.pid中
????-g的一個約束條件是指定的配置項不能與默認路徑下的nginx.conf中的配置項沖突,具體可查看/usr./ocal/nginx/conf/nginx.conf文件內容;另一個約束條件是以-g方式啟動的Nginx服務在執行其他命令時,需把-g參數也帶上,否則可能出現配置項不匹配的情形
5、測試配置信息是否有錯誤
????/usr/local/nginx/sbin/nginx? -t
6、在測試配置階段不輸出信息
?????/usr/local/nginx/sbin/nginx? -t -q
7、顯示Nginx版本信息
????/usr/local/nginx/sbin/nginx? -v
8、顯示版本信息和編譯階段的參數
????/usr/local/nginx/sbin/nginx? -V
9、快速地停止服務
????/usr/local/nginx/sbin/nginx -s stop???
????強制停止Nginx服務, -s告訴Nginx程序向正在運行的Nginx服務發送信號量,Nginx程序會通過/usr/local/nginx/logs/nginx.pid文件獲取master進程的ID,再向master進程發送TERM信號來快速關閉Nginx服務
????效果和kill -s SIGTERM <nginx master pid> 一樣
????worker進程與master進程收到信號后會立刻跳出循環,退出進程 ??
10、“優雅”地停止服務
????/usr/local/nginx/sbin/nginx -s quit
????會發送QUIT信號給master進程????效果和kill-s SIGQUIT <nginx master pid> 一樣
????首先會關閉監聽端口,停止接收新的連接,然后把當前正在處理的連接全部處理完,最后再退出進程
11、使運行中的Nginx重讀配置項并生效
?????/usr/local/nginx/sbin/nginx -s reload
????Nginx會先檢查配置項是否有誤,如果正確則以“優雅”的方式關閉,在重新啟動Nginx
????效果同kill -s SIGHUP <nginx master pid>
12、日志文件回滾
????/usr/local/nginx/sbin/nginx -s reopen??
????重新打開日志文件,這樣可以先把當前日志文件改名或轉移到其他目錄中進行備份,再重新打開時就會生成新的日志文件
13、平滑升級Nginx
????當服務器升級到新版本時,必須將舊的二進制文件替換掉,nginx支持不重啟服務完成過新版本的平滑升級
????1、通知正在運行的舊版本Nginx準備升級,向master進程發送USER2信號
????????????kill -s SIGUSER2 <nginx master pid>
????????這時會重命名/usr/local/nginx/logs/nginx.pid為/usr/local/nginx/log/nginx.pid.oldbin
????2、以以上方式的任一種啟動新版本的Nginx,這時通過ps可看到舊版本的服務還在運行
????3、通過kill向舊版本master進程發送SIGQUIT信號即可,以“優雅”方式關閉
????
14、顯示命令行幫助
??????/usr/local/nginx/sbin/nginx -h
??????/usr/local/nginx/sbin/nginx -?
關閉80端口
fuser -k 80/tcp
轉載于:https://blog.51cto.com/lingdandan/1913070