伺服器上現有一個在執行的專案是用docker部署的,我現在要在這個伺服器上部署我的應用,我的應用執行環境是php,我看伺服器上已經安裝了nginx的容器,並且有程式佔用了php預設的9000埠,所以我的操作如下:
1. 建立php容器,將容器新增到與nginx容器同一個網路下“qflow”,將容器6000埠對映到宿主機,並將php配置檔案掛載到宿主機(已提前複製到宿主機指定目錄)
docker run -idt --name=myphp --network=qflow -v /var/www/html:/var/www/html -v /data/php/www.conf:/usr/local/etc/php-fpm.d/www.conf -v /data/php/php.ini:/usr/local/etc/php/php.ini -p 6000:6000 --restart=on-failure:3 -d php:7.4-fpm
2. 修改php的預設埠後重啟容器
3. 修改nginx配置檔案,重啟php的容器後再重啟nginx的容器
4. 發現訪問站點html檔案成功,但訪問php檔案報502錯誤,檢查nginx容器日誌發現報錯,提示拒絕訪問
(1)檢查的思路是首先檢視nginx容器和php的容器是否在一個網路環境並且能夠通訊
(2)檢視php-fmp是否正常執行
(3)檢查防火牆,容器埠是否正常對映
5. 首先檢查了兩個容器的ip是在一個網路內的,
並且測試兩個容器是否可以通訊,發現是可以ping通,而且防火牆是關閉的
6. 再檢查php-fpm程序,發現是有在跑的,並且我也進入php容器執行php檔案發現是沒有問題的,我按照一些網友給的建議調整了php.ini 的memory_limit 、php-fpm.conf 中max_children和max_requests,重啟容器後還是沒能解決
誰能發現是哪裡的問題?