mac係統下nginx的詳細安裝過程及使用(適合新手)
Homebrew安裝及說明
安裝及說明
nginx啟動,重啟,關閉
? ? ・出錯解決辦法:隻列出自己出的錯
? ? ・其他說明:包括常用指令及修改配置等
? ? ? ??Nginx ("engine x") 是一個高性能的 HTTP 和 反向代理 服務器,也是一個 IMAP/POP3/SMTP 服務器。 Nginx 是由 Igor Sysoev 為俄羅斯訪問量第二的 Rambler.ru 站點開發的,第一個公開版本0.1.0發布於2004年10月4日。其將源代碼以類BSD許可證的形式發布,因它的穩定性、豐富的功能集、示例配置文件和低係統資源的消耗而聞名。2011年6月1日,nginx 1.0.4發布。
? ? ? Nginx是一款輕量級的Web 服務器/反向代理服務器及電子郵件(IMAP/POP3)代理服務器,並在一個BSD-like 協議下發行。由俄羅斯的程序設計師Igor Sysoev所開發,供俄國大型的入口網站及搜索引擎Rambler(俄文:Рамблер)使用。其特點是占有內存少,並發能力強,事實上nginx的並發能力確實在同類型的網頁服務器中表現較好,中國大陸使用nginx網站用戶有:百度、新浪、網易、騰訊等。
優點是可以在大多數 Unix like OS 上編譯運行,並有 Windows 移植版。 Nginx 的1.4.0穩定版已經於2013年4月24日發布,一般情況下,對於新建站點,建議使用最新穩定版作為生產版本,已有站點的升級急迫性不高。Nginx 的源代碼使用 2-clause BSD-like license。
? ? ?Nginx 是一個很強大的高性能Web和反向代理服務器,它具有很多非常優越的特性:
在高連接並發的情況下,Nginx是Apache服務器不錯的替代品:Nginx在美國是做虛擬主機生意的老板們經常選擇的軟件平台之一。能夠支持高達 50,000 個並發連接數的響應,感謝Nginx為我們選擇了 epoll and kqueue作為開發模型
mac Sierra 10.12.4 ?
Homebrew請繞過)
Homebrew,因為這裏介紹的安裝方式需要brew命令
? ? ? 1.2 命令 ? ? ??ruby?-e?"$(curl?-fsSL?https://raw.githubusercontent.com/Homebrew/install/master/install)"?
? ?1.3命令說明:在“終端”中輸入以上命令,係統會自動執行,隻需在需要點擊的時候根據提示點擊就可以。下來就是安裝nginx了
? 2.正式安裝
? ? ?還是命令: ??brew?install?nginx?
? 一條命令搞定
安裝完以後,可以在終端輸出的信息裏看到一些配置路徑:
? ? ? ? ? ? ?/usr/local/etc/nginx/nginx.conf (配置文件路徑)
? ? ? ? ? ? /usr/local/var/www (服務器默認路徑)
? ? ? ? ? ?/usr/local/Cellar/nginx/1.12.0 (安裝路徑)(我安裝的是1.12.0,具體參照自己安裝的版本)
? ?2.訪問localhost:8080,成功說明安裝好了,如果沒有出現頁麵,可參照下麵解決辦法試著處理
? ?3.啟動?
? ? ? 3.1進入安裝路徑 ? cd??/usr/local/Cellar/nginx/1.12.0?
? ? ? 3.2啟動?sudo?./nginx
3.3重啟?sudo./nginx?-s?reload?
3.4 判斷配置文件是否正確 ?sudo?./nginx?-t?
3.5 nginx停止 ?首先查詢nginx主進程號 ?ps -ef|grep nginx
正常停止???sudo?kill?-QUIT?主進程號
快速停止???sudo?kill?-TERM?主進程號
?sudo ./nginx
? ? ? ? ? ?nginx: [emerg] bind() to 0.0.0.0:8080 failed (48: Address already in use)
? ? ? ? ? ?nginx: [emerg] bind() to 0.0.0.0:8080 failed (48: Address already in use)
? ? ? ? ? ?nginx: [emerg] bind() to 0.0.0.0:8080 failed (48: Address already in use)
? ? ? ? ? ?nginx: [emerg] bind() to 0.0.0.0:8080 failed (48: Address already in use)
? ? ? ? ? ?nginx: [emerg] bind() to 0.0.0.0:8080 failed (48: Address already in use)
? ? ? nginx -V 查看版本,以及配置文件地址
? ? ? nginx -v 查看版本
? ? ? nginx -c filename 指定配置文件
? ? ? nginx -h 幫助
? ? ? sudo?nginx
? ? ? #測試配置是否有語法錯誤
? ??
? ? ? ? ?執行命令:
sudo cp /private/etc/php-fpm.conf.default /private/etc/php-fpm.conf
? ? ? ? ?找到目錄下的 php-fpm 文件
/private/etc/php-fpm.conf
? ? ? ? ?找到32行的 error_log ,改為(正行替換,注意 ‘;’ 和空格):
error_log = /usr/local/var/log/php-fpm.log
? ? ? ? ?否則 php-fpm 時會報錯:
ERROR: failed to open error_log (/usr/var/log/php-fpm.log): No such file or directory (2)
? ?打開 nginx.config 文件
/usr/local/etc/nginx/nginx.conf
? ? ? ? ? 找到 server 的 location 配置,給 index 加一個 index.php
location / { root html; index index.html index.htm index.php; }
? ? ? ? ?並打開 server 下被注釋的 location ~.php$(即刪除代碼前麵的 ‘#’),如下:
location ~ \.php$ { root html; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; include fastcgi_params; }
? ? ? ? 並修改 fastcgi_param 參數
fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; 改為 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
sudo nginx sudo php-fpm
? ? ? ?然後訪問localhost:8080,看到配置信息,就說明 ok 了
? ? 修改 nginx.conf 後,重載配置文件
sudo nginx -s reload
? ?停止 nginx 服務器
sudo nginx -s stop
? ?停止 php-fpm可以直接在 Activity Monitor 中停止。也可以使用腳本來停。
最後更新:2017-05-09 14:31:37