1.拉取 wordpress 鏡像
docker pull wordpress:latestphp
查看鏡像
docker images;html
docker: Error response from daemon: driver failed programming external connectivity。。。
sudo systemctl restart docker
安裝php環境,下載壓縮包,解壓到 /var/www/html
這個和typecho同樣就很少說了 ,須要注意的是目錄目錄權限問題java
安裝配置mysql和NGINXmysql
相關配置參考typecho
的配置linux
server { listen 80; server_name www.imisty.cn imisty.cn; root /var/www/html/wordpress; index index.html index.htm index.php; client_max_body_size 100M; if (!-e $request_filename) { rewrite ^(.*)$ /index.php$1 last; } location ~ .*\.php(\/.*)*$ { include fastcgi.conf; fastcgi_index index.php; fastcgi_pass 127.0.0.1:9000; fastcgi_connect_timeout 300; fastcgi_send_timeout 300; fastcgi_read_timeout 300; } error_log logs/error_wordpress.log; access_log logs/misty.log combined; }
define('WPLANG', '');
改成define('WPLANG', 'zh_CN');
沒有則添加便可,而後刷新控制檯面板出現更新直接下載中文包便可wp-config.php
以下便可,官方建議升級完成以後修改回來define('WPLANG', 'zh_CN'); define("FS_METHOD", "direct"); define("FS_CHMOD_DIR", 0777); define("FS_CHMOD_FILE", 0777);
index.php
頁面的源代碼,其餘路徑的頁面能夠正常訪問或者訪問域名跳轉到127.0.0.1出現這個問題,就有點懵了,畢竟NGINX的配置沒有怎麼改,以前都是好好地,可是配置文件更換頻繁致使的,瀏覽器客戶端不解析php,回家訪問一次發現解決了這個問題懷疑是瀏覽器緩存致使的,瀏覽器記住了以前的配置不會解析php成htmlnginx
解決方案:這個是由於瀏覽器緩存的緣由致使的,清除瀏覽器緩存便可redis
netstat -anpo | grep "php-cgi" | wc -l
sql
http { ...... fastcgi_connect_timeout 300; fastcgi_send_timeout 300; fastcgi_read_timeout 300; ...... }
這樣屢次刷新依然出現502錯誤docker
Nginx錯誤日誌 recv() failed (104: Connection reset by peer) while reading response header from upstream, client: 183.54.41.123, server: www.imisty.cn, request: "GET /index.php?rest_route=/yoast/v1/statistics HTTP/1.1", upstream: "fastcgi://127.0.0.1:8001", host: "imisty.cn", referrer: "http://imisty.cn/wp-admin/"
php-fpm
服務進行管理,解決屢次刷新頁面502的問題yum install php70w-fpm
安裝,由於以前安裝過舊版本,存在衝突,這裏須要指定版本service php-fpm restart
啓動php-fpm服務lsof查看php-cgi端口kill掉;php-fpm默認的端口是9000數據庫
/etc/php.ini
中的屬性值便可事實證實,再好的東西,不合適就是不合適,再說這個插件實際使用也沒多好,反正頁面卡慢,嚴重影響速度和心態
感謝這位小夥伴提供的資料
最近發現博客打開常常出現數據庫沒法鏈接而且在網絡正常的狀況下出現的鏈接卡慢的問題;剛開始覺得是以前的redis漏洞致使的挖礦程序入侵
可是free -h
查看以後發現不是CPU佔用問題而是內存佔用過多致使的,平均每個fpm進程佔用了2%
內存
查看內存消耗最多的 40個進程 ps auxw|head -1;ps auxw|sort -rn -k4|head -40
查看第四列內存使用佔比,發現除了mysql數據庫服務以外,php-fpm服務池開啓了太多子進程,佔用超過大半內存,問題找到了,咱們開始解決問題:設置控制php-fpm進程池進程數量
解決方案:
經過各類搜索手段,發現能夠經過配置 pm.max_children 屬性,控制php-fpm子進程數量,首先,打開php-fpm配置文件,執行指令:
vi /etc/php-fpm.d/www.conf
找到 pm.max_children
字段,發現其值過大:
pm.max_children
值爲50,每個進程佔用1%-2.5%的內存,加起來就耗費大半內存了,因此咱們須要將其值調小,博主這裏將其設置爲25,同時,檢查如下兩個屬性:
pm.max_spare_servers
: 該值表示保證空閒進程數最大值,若是空閒進程大於此值,此進行清理 pm.min_spare_servers
: 保證空閒進程數最小值,若是空閒進程小於此值,則建立新的子進程;
這兩個值均不能不能大於 pm.max_children
值,一般設置 pm.max_spare_servers
值爲 pm.max_children
值的60%-80%。
service php-fpm status
查看服務狀態發現配置錯誤
[pool www] pm.min_spare_servers(5) and pm.max_spar...en(25)
開始的時候max_children
設置爲25 ,max_spare_servers
設置爲35 發現服務沒法啓動
最後,重啓php-fpm
systemctl restart php-fpm
或者service php-fpm restart
再次查看內存使用狀況, 使用內存下降不少:
其餘相關設置
ps:查看php-fpm開啓的進程數以及每一個進程的內存限制
ps -fe |grep "php-fpm"|grep "pool"|wc -l
netstat -anp|grep "php-fpm"|grep "tcp"|grep "pool"|wc -l
linux+nginx+php
環境中,每一個php-fpm進程的內存限制設置方法:
編輯php-fpm.conf配置文件
php_admin_value[memory_limit] = 128M
(我服務器上的配置文件在/etc/php5/fpm/pool.d/www.conf
這個文件是被包含在php-fpm.conf裏的) 後邊的數字能夠隨便更改:32M,64M,128M,256M,512M,這個設置可根據你的服務器內存大小和你的需求來寫,修改後要加載一下php-fpm服務。
每一絲靈感都值得被記錄,每一筆記錄都是成長,每一點成長都值得歡呼
博主我的站: www.imisty.cn
CSDN博客: https://blog.csdn.net/lookinthefog
博客園 :https://imist.cnblogs.com/
但願可以認識一些熱愛技術的小夥伴,歡迎友連接喲