當前位置:首頁 » 編程語言 » nginx重啟php

nginx重啟php

發布時間: 2022-04-27 04:35:47

① 如何nginx啟動php伺服器

安裝
PHP

nginx
後,無法解析
PHP
文件。
其中,PHP

nginx
編譯安裝
configure
如下:
#
PHP
5.3.9
./configure
--prefix=/usr/local/php
--
enable-fpm
#
nginx
1.0.11
./configure
--prefix=usr/local/nginx
#
成功安裝後,創建
php-fpm.conf
配置文件,刪除
nginx.conf
中「pass
the
PHP
scripts
to
FastCGI
server
listening
on
127.0.0.1:9000」部分的注釋
cd
/usr/local/php/etc
mv
php-fpm.conf.default
php-fpm.conf
vi
/usr/local/nginx/conf/nginx.conf
#
刪除如下部分的注釋,保存退出

② 如何正確配置 Nginx 和 PHP

直接貼上代碼逐行進行講解,此處貼出一個能正常啟動php腳本的最簡nginx vhost配置:

[plain] view plain
server {
listen 8011;
server_name test.cn;
location ~ \.php?.*$ {
root /share/test;
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}

1、第一個大括弧 server{ }:不必多說,代表一個獨立的server,

2、listen 8011:代表該server監聽8011埠

3、location ~ \.php?.*${
}:代表一個能匹配對應uri的location,用於匹配一類uri,並對所匹配的uri請求做自定義的邏輯、配置。這里的location,匹配了所有帶.php的uri請求,例如:http://192.168.244.128:8011/test.php/asdasd
http://192.168.244.128:8011/index.php等

4、root /share/test:請求資源根目錄,告訴匹配到該location下的uri到/share/teset文件夾下去尋找同名資源。

5、fastcgi_pass 127.0.0.1:9000:這行開始是本文的重點:這行代碼的意思是,將進入到該location內的uri請求看做是cgi程序,並將請求發送到9000埠,交由php-fpm處理。

6、fastcgi_param SCRIPT_FILENAME
$document_root$fastcgi_script_name;
:這行配置意思是:動態添加了一行fastcgi配置,配置內容為SCRIPT_FILENAME,告知管理進程,cgi腳本名稱。由於我的nginx中只有fastcgi_params文件,沒有fastcgi.conf文件,所以要使php-fpm知道SCRIPT_FILENAME的具體值,就必須要動態的添加這行配置。

7、include fastcgi_params; 引入fastcgi配置文件

以上就是最簡潔版的nginx啟動php腳本的最簡配置,當重啟nginx之後,在/share/test目錄下創建一個xx.php文件,輸入<?php
echo "hello world"; ?>保存,然後在瀏覽器中訪問localhost:8011/xx.php
就可以在網頁上顯示hello world了。

③ nginx檢測是不是200 不是就自動重啟php腳本

最近伺服器時不時出現Nginx 502 Bad Gateway,如果在電腦旁邊還好,要是半夜或者出去了,怎麼辦?
沒關系,寫個腳本檢測服務狀態,發現異常,自動重啟。
自動重啟腳本:
復制代碼 代碼如下:
<?php
$url = 'http://blog.rebill.info';
$cmd = '/usr/local/php/sbin/php-fpm restart';for($i = 0; $i < 5; $i ++){
$exec = "curl connect-timeout 3 -I $url 2>/dev/null";$res = shell_exec($exec);
if(stripos($res, '502 Bad Gateway') !== false){shell_exec($cmd);
exit();
}
}
原理就是用curl獲取HTTP頭,發現502狀態碼就執行重啟php-fpm的命令。
url和cmd根據實際情況改成自己的。然後放到crontab里一分鍾執行一次。
復制代碼 代碼如下:
*/1 * * * * /usr/bin/php /root/crontab/nginx502.php

④ nginx+php 生成縮略圖的時候發現沒有jpeg支持安裝完了重啟php-fpm出錯

nginx是一個web伺服器,因此nginx的access日誌只有對訪問頁面的記錄,不會有php 的 error log信息。
nginx把對php的請求發給php-fpm fastcgi進程來處理,默認的php-fpm只會輸出php-fpm的錯誤信息,在php-fpm的errors log里也看不到php的errorlog
原因是php-fpm的配置文件php-fpm.conf中默認是關閉worker進程的錯誤輸出,直接把他們重定向到/dev/null,所以我們在nginx的error log 和php-fpm的errorlog都看不到php的錯誤日誌。
調試起來就很痛苦了。解決nginx下php-fpm不記錄php錯誤日誌的辦法:
1.修改php-fpm.conf中配置 沒有則增加
catch_workers_output = yes
error_log = log/error_log
2.修改php.ini中配置,沒有則增加
log_errors = On
error_log = "/usr/local/lnmp/php/var/log/error_log"
error_reporting=E_ALL&~E_NOTICE
3.重啟php-fpm,
當PHP執行錯誤時就能看到錯誤日誌在"/usr/local/lnmp/php/var/log/error_log"中了
請注意:
1. php-fpm.conf 中的php_admin_value[error_log] 參數 會覆蓋php.ini中的 error_log 參數
所以確保你在phpinfo()中看到的最終error_log文件具有可寫許可權並且沒有設置php_admin_value[error_log] 參數,否則錯誤日誌會輸出到php-fpm的錯誤日誌里。

2.找不到php.ini位置,使用php的phpinfo()結果查看

3.如何修改PHP錯誤日誌不輸出到頁面或屏幕上
修改php.ini
display_errors = off //不顯示錯誤信息(不輸出到頁面或屏幕上)
log_errors = on //記錄錯誤信息(保存到日誌文件中)
error_reporting = E_ALL //捕獲所有錯誤信息
error_log = //設置日誌文件名
程序中修改以上配置
ini_set("display_errors",0)
ini_set("error_reporting",E_ALL); //這個值好像是個PHP的常量
ini_set("error_log","<日誌文件名>")
ini_set("log_errors",1);
4.如何將php的錯誤日誌輸出到nginx的錯誤日誌里
在PHP 5.3.8及之前的版本中,通過FastCGI運行的PHP,在用戶訪問時出現錯誤,會首先寫入到PHP的errorlog中
如果PHP的errorlog無法寫入,則會將錯誤內容返回給FastCGI介面,然後nginx在收到FastCGI的錯誤返回後記錄到了nginx的errorlog中
在PHP 5.3.9及之後的版本中,出現錯誤後PHP只嘗試寫入PHP的errorlog中,如果失敗則不會再返回到FastCGI了,錯誤日誌會輸出到php-fpm的錯誤日誌里。
所以如果想把php錯誤日誌輸出到nginx錯誤日誌,需要使用php5.3.8之前的版本,並且配置文件中php的error_log對於php worker進程不可寫

⑤ windows下nginx 啟動php-cgi進程數量怎麼修改

NMP環境現在還是比較多人用的,下面介紹一個修改php-cgi進程數的方法: 一、修改php-cgi: vi /usr/local/nginx/conf/nginx.conf 二、其中worker_processes 1;可以修改成2或3個,nginx本身就很強大,不需要像apache那樣,開啟過多的進程來保證其穩定運行。 vi /usr/local/php/etc/php-fpm.conf 三、找到,按你的內存容量修改PHP進程的數量,一般128內存開啟6個,256內存開啟16個。這樣能保證,在PHP大並發的情況下不會502錯誤,註:PHP5.3系列不需要修改。 四、優化後,重啟lnmp /root/lnmp restart

⑥ 為什麼啟動了NGINX伺服器卻打不開PHP網頁

先試三個辦法
一、打開IE,點工具,點internet選項,點高級,點恢復默認設置,點保存,退出,重新打開IE
二、打開IE,刷新五次以上
三、打開IE,點工具,點internet選項,點刪除文件,點清除歷史記錄,確定,保存,退出IE,重新打開IE。
以上三個辦法都試了還不行看下面的
三種可能:
1. 網速問題
2. 病毒問題
3. 電腦配置速度問題
以下幾種解決方法:
1. 安全模式下查殺一下是否有病毒,
2. 或者重新安裝瀏覽器看是否出現類似情況
3. 更換其他瀏覽器試試
4. 用別的電腦鏈接你的網線試驗一下,如果出現類似情況,說明是你的網速問題
5. 最後一招。。修復系統
如果樓主說不是以上問題的話,那就有可能有人用p2p終結者控制了你的網速,如果這樣的話,你可以採取兩種辦法解決:
1. 下載反P2P終結者軟體,以毒攻毒
2. 使用360殺毒軟體及瀏覽器,開啟360防火牆,可以有效抵禦控制網速的攻擊

⑦ 如何 利用 php 重啟 nginx-Linux新手園地

已解決 下面是解決方法

1、設置 sudo 配置文件 可寫許可權
chmod u+w /etc/sudoers

2、增加 www 用戶的 nginx 腳本管理許可權
www ALL=(root) NOPASSWD: /etc/init.d/nginx

3、關閉 【強制控制台登錄】執行
【非常重要】,注釋該行 我的問題就出在這里,開啟了這個選項之後。在PHP中怎麼調用,都沒有執行結果
#Defaults requiretty

4、還原 sudo 配置許可權 440
【非常重要】,如果不還原許可權。在PHP中怎麼調用,都沒有執行結果。
chmod u-w /etc/sudoers

5、調用php
$result2 = exec("/usr/bin/sudo /etc/init.d/nginx stop",$result);
var_mp($result);
var_mp($result2);

⑧ 重啟nginx伺服器用哪個指令比較好

nginx -s reload :修改配置後重新載入生效
nginx -s reopen :重新打開日誌文件
nginx -t -c /path/to/nginx.conf 測試nginx配置文件是否正確

關閉nginx:
nginx -s stop :快速停止nginx
quit :完整有序的停止nginx

其他的停止nginx 方式:

ps -ef | grep nginx

kill -QUIT 主進程號 :從容停止Nginx
kill -TERM 主進程號 :快速停止Nginx
pkill -9 nginx :強制停止Nginx

啟動nginx:
nginx -c /path/to/nginx.conf

平滑重啟nginx:
kill -HUP 主進程號

⑨ LNMP怎麼單獨重啟nginx或者mysql、php

LNMP代表的就是:Linux系統下Nginx+MySQL+PHP這種網站伺服器架構。
Linux是一類Unix計算機操作系統的統稱,是目前最流行的免費操作系統。代表版本有:debian、centos、ubuntu、fedora、gentoo等。
Nginx是一個高性能的HTTP和反向代理伺服器,也是一個IMAP/POP3/SMTP代理伺服器。
Mysql是一個小型關系型資料庫管理系統。
PHP是一種在伺服器端執行的嵌入HTML文檔的腳本語言。
這四種軟體均為免費開源軟體,組合到一起,成為一個免費、高效、擴展性強的網站服務系統。
單獨重啟nginx或者mysql、php:
nginx : kill nginx進程ID,再/usr/local/nginx/sbin/nginx
mysql :/etc/init.d/mysql restartphp:沒有重啟
phpfpm:/usr/local/php/sbin/php-fpm reload

⑩ nginx+php 網站運行一段時間會出現502錯誤

重啟PHP即可。

PHP運行一段時間後,內存佔用越來越多,導致內存溢出,使得php無法響應請求,每天重啟一次php,或者,限制每個php線程最多執行任務數。

熱點內容
美嘉演算法口訣 發布:2025-05-16 06:03:15 瀏覽:952
c程序編譯連接 發布:2025-05-16 06:02:36 瀏覽:964
腳本魔獸 發布:2025-05-16 06:01:52 瀏覽:330
文件夾python 發布:2025-05-16 06:01:43 瀏覽:627
電腦我的世界伺服器游戲幣 發布:2025-05-16 05:27:25 瀏覽:487
索尼手機為什麼不能用安卓10 發布:2025-05-16 05:18:46 瀏覽:784
蔚來es6選擇哪些配置實用 發布:2025-05-16 05:18:05 瀏覽:130
小米如何掃碼wifi密碼 發布:2025-05-16 05:13:38 瀏覽:807
樓層密碼是什麼意思 發布:2025-05-16 05:13:37 瀏覽:13
創建文件夾失敗 發布:2025-05-16 05:12:59 瀏覽:396