日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

基于Mac自带nginx、php,配置php服务器

發布時間:2025/3/18 php 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 基于Mac自带nginx、php,配置php服务器 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
這里基于Mac( MacOS 10.14.0 )自帶的nginx (1.12.0)和php (PHP 7.1.23),主要有以下幾個方面:
  • php-fpm 配置
  • nginx 配置?
  • php-fpm/nginx 進程管理

Mac自帶nginx文件路徑信息

/usr/local/bin/nginx // 符號鏈接路徑 /usr/local/var/www // 默認服務器根目錄 /usr/local/etc/nginx // nginx配置目錄,nginx配置相關的文件都在這個目錄// 啟動nginx nginx // or: /usr/local/bin/nginx復制代碼php-fpm 相關信息

/etc/php-fpm.conf.default // php-fpm默認配置文件 /etc/php-fpm.d/www.conf.default // 進程擴展配置文件 /usr/sbin/php-fpm // 符號鏈接路徑復制代碼
因為是Mac自帶的nginx和php,所以免去安裝部分,直接說明運行和配置

? 啟動nginx服務器

通過nginx --version (or -v) 查看nginx的版本信息

啟動nginx服務器(可以直接在控制臺輸入nginx,回車)

nginx 復制代碼沒有報錯的話,可以在瀏覽器里面輸入127.0.0.1:8080,看是否顯示出nginx啟動成功的提示信息



? 配置php-fpm

同樣可以使用,php-fpm -v (或 --version) 查看版本信息
如果沒有指定配置文件直接啟動php-fpm,會報錯,雖然在/private/etc/ 目錄有php-fpm.conf.default 文件,但php-fpm啟動時默認找的是php-fpm.conf


所以先從php-fpm.conf.default copy 一份 php-fpm.conf

cd /private/etc cp php-fpm.conf.default php-fpm.conf復制代碼
打開php-fpm.conf 找到 ; error_log = log/php-fpm.log 這一行,在下面加一行error_log = /usr/local/var/log/php-fpm.log,以指定錯誤日志文件,防止報錯然后進入到php-fpm.d 目錄

cd php-fpm.d cp www.conf.default www.conf // 同樣copy一份 www.conf復制代碼
嘗試啟動php-fpm:

php-fpm // or php-fpm -D復制代碼
驗證是否啟動成功,同樣通過ps -ef | grep php-fpm 查看是否 php-fpm的相關進程


也可以為php-fpm 指定配置文件啟動

php-fpm –c php.ini –y php-fpm.conf復制代碼
php-fpm 的關閉、重啟,先通過ps -ef | grep php-fpm 找到運行中的php-fpm進程的PID,然后通過kill -s signal PID 的方式進行管理.?相關signal有:

信號作用
INT立即終止
QUIT平滑終止
USR1重新打開日志文件
USR2重啟(平滑重載所有worker進程并重新載入配置和二進制模塊)

? 配置nginx

在默認的server 配置里面,找到注釋掉的php相關配置,放開注釋,并修改成如下配置(修改過程中注意分號,不要落了,否則nginx啟動時會報錯)

location ~ \.php$ {root html;fastcgi_pass 127.0.0.1:9000;fastcgi_index index.php;fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; // 主要為這一行include fastcgi_params;}復制代碼 root html指向nginx 服務器默認根目錄 /usr/local/var/www,在這里創建一個index.php 并寫入一行php代碼,以驗證服務可用性

cd /usr/local/var/www echo "<?php echo 11;" > index.php復制代碼重啟nginx服務器

nginx -s reload復制代碼
沒有報錯,就可以使用ps -ef | grep nginx 查看是否有相關進程,以驗證nginx是否啟動成功。在瀏覽器輸入: 127.0.0.1:8080/index.php如果頁面顯示php中echo 的 11,說明配置成功。

? nginx進程管理

nginx -s stop // fast shutdown nginx -s quit // graceful shutdown nginx -s reload // reloading the configuration file nginx -s reopen // 重新打開日志文件復制代碼nginx 的進程分為mater process (master 進程)和worker process(worker進程),master(主)進程負責worker(工作)進程的管理,而worker 進程則負責處理請求, 還有可能有cache相關進程。
有兩種工作模式:
  • 單進程模式:nginx只會有一個進程,該進程即充當master進程角色,又充當worker進程角色
  • 多進程模式:nginx會有一個master進程(也只有一個),且至少有一個worker進程

stop 信號會馬上結束所有進程,而quit 信號是等到完成當前請求的相關服務后,才退出進程。
當配置文件更改后,需要通過reload 信號通知nginx使用新的配置來啟動新進程,nginx master 進程收到reload信號后,會檢查新配置文件的正確信,如果沒有問題,則會fork出基于新配置的新worker進程,接收新的請求,并發送通知基于就配置文件的工作進程關閉,收到關閉信號的進程通過quit信號的形式,先結束服務,再關閉。如果有問題,則master進程會回滾配置,繼續使用舊的配置文件。
也可以通過kill 命令發送相應的指令給指定的pid,來結束nginx對應的nginx工作進程。如通過ps -ef | grep nginx (或通過 ps -ax | grep nginx)來找到nginx的worker進程process ID

ps -ef | grep nginx 501 83158 1 0 4:44PM ?? 0:00.01 nginx: master process nginx 501 85683 83158 0 5:58PM ?? 0:00.00 nginx: worker process復制代碼

然后,kill -s QUIT 85683 通過quit信號的形式結束PID 為85683 的worker進程。 nginx mater 進程信號及作用列表:

信號作用
INT,TERM立即終止
QUIT平滑終止
HUPchanging configuration, keeping up with a changed time zone (only for FreeBSD and Linux), starting new worker processes with a new configuration, graceful shutdown of old worker processes
USR1重新打開日志文件
USR2upgrading an executable file
WINCHgraceful shutdown of worker processes


轉載于:https://juejin.im/post/5cf33ff16fb9a07f091b8b4a

總結

以上是生活随笔為你收集整理的基于Mac自带nginx、php,配置php服务器的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。