应用最广泛的博客系统|wordpress部署

Docker部署wordpress

1.拉取 wordpress 镜像
docker pull wordpress:latest

  1. 查看镜像
    docker images;
  2. 启动容器 docker run --name=wordpress -p 8003:22 -p 8001:80 -v /var/wordpress:/data wordpress
    • 通过8001端口访问
    • 本机需要php环境
    • 暂时不清楚wordpress安装数据在那个地方
    • 注意数据库路径是本机(宿主)而不是另一个容器或者当前容器的话,需要填写本机的内网ip,而不可以是localhost或者127.0.0.1
    • 可能因为nginx配置导致样式丢失

其他问题:docker 端口映射错误解决方法

docker: Error response from daemon: driver failed programming external connectivity。。。
  • 重启docker解决 sudo systemctl restart docker

样式无法正常显示

  • 估计是nginx配置问题,这个就不深究了

最终使用和typecho一样使用站点的方式配置

  • 安装php环境,下载压缩包,解压到 /var/www/html这个和typecho一样就不多说了 ,需要注意的是目录目录权限问题
  • 安装配置mysql和NGINX
  • 相关配置参考typecho的配置

贴一段NGINX的配置

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;
    }

常见问题解决方案

  • 英文包转换成中文环境,在站点根目录找到wp-config.php,将define(‘WPLANG‘, ‘‘);改为define(‘WPLANG‘, ‘zh_CN‘);没有则添加即可,然后刷新控制台面板出现更新直接下载中文包即可
  • 下载包需要验证ftp,编辑wp-config.php如下即可,官方建议升级完成之后修改回来
define('WPLANG', 'zh_CN');
define("FS_METHOD", "direct");
define("FS_CHMOD_DIR", 0777);
define("FS_CHMOD_FILE", 0777);
  • 解决“在裁剪您的图像时发生了错误” php-gd或者相关扩展没有安装吧,官方论坛搜索即可

打开域名访问主页变成下载index.php页面的源代码,其他路径的页面可以正常访问或者访问域名跳转到127.0.0.1

出现这个问题,就有点懵了,毕竟NGINX的配置没有怎么改,之前都是好好地,但是配置文件更换频繁导致的,浏览器客户端不解析php,回家访问一次发现解决了这个问题怀疑是浏览器缓存导致的,浏览器记住了之前的配置不会解析php成html

解决方案:这个是因为浏览器缓存的原因导致的,清除浏览器缓存即可

连续刷新页面出现502 错误,php-cgi程序崩溃了

照抄网上的解决方案

  • 查看当前的PHP FastCGI进程数是否够用,如果实际使用的“FastCGI进程数”接近预设的“FastCGI进程数”,那么,说明“FastCGI进程数”不够用,需要增大

netstat -anpo | grep "php-cgi" | wc -l

  • 部分PHP程序的执行时间超过了Nginx的等待时间,可以适当增加nginx.conf配置文件中FastCGI的timeout时间,例如:
http

{

......

fastcgi_connect_timeout 300;

fastcgi_send_timeout 300;

fastcgi_read_timeout 300;

......

}
  • php.ini中memory_limit设低了会出错,修改了php.ini的memory_limit为64M,重启nginx,发现好了,原来是PHP的内存不足了

这样多次刷新依然出现502错误

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

上传的文件尺寸超过php.ini中定义的upload_max_filesize值。

  • 修改/etc/php.ini中的属性值即可

Jetpack导致页面卡慢

事实证明,再好的东西,不合适就是不合适,再说这个插件实际使用也没多好,反正页面卡慢,严重影响速度和心态

解决Linux下php-fpm进程过多导致内存耗尽问题

感谢这位小伙伴提供的资料
最近发现博客打开经常出现数据库无法连接并且在网络正常的情况下出现的连接卡慢的问题;刚开始以为是之前的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开启的进程数以及每个进程的内存限制

  1. 通过命令查看服务器上一共开了多少的 php-cgi 进程

ps -fe |grep "php-fpm"|grep "pool"|wc -l

  1. 查看已经有多少个php-cgi进程用来处理tcp请求
    netstat -anp|grep "php-fpm"|grep "tcp"|grep "pool"|wc -l
  2. 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/

希望能够认识一些热爱技术的小伙伴,欢迎友链接哟

原文地址:https://www.cnblogs.com/imist/p/11417562.html

时间: 2024-10-11 20:23:21

应用最广泛的博客系统|wordpress部署的相关文章

云计算学习路线教程大纲课件:部署博客系统wordpress

云计算学习路线教程大纲课件:部署博客系统wordpress: ======================================================== 一.基础环境[已完成] [[email protected] ~]# sed -ri '/^SELINUX=/cSELINUX=disabled' /etc/selinux/config [[email protected] ~]# setenforce 0 [[email protected] ~]# systemctl

CentOS6系统部署mysql+php+wordpress博客系统

部署wordpress博客系统在不同的系统中可能就稍有不同,但是大同小异,所以今天就以CentOS6系统为例进行wordpress博客系统的部署. 在部署之前首先要进行软件的安装,在配置好软件源之后,使用以下命令: CentOS 7中执行: yum install httpd  php  php-mysql  mariadb-server CentOS 6中执行: yum install httpd  php  php-mysql  mysql-server 安装完之后,首先使用以下命令重启ht

在CentOS 6.7部署wordpress博客系统Discuz论坛系统

在CentOS 6.7部署wordpress博客系统Discuz论坛系统 服务器操作系统:CentOS6.7 博客部署服务器:Httpd-2.2 后台语言:PHP 数据库:MySql 前端框架:WordPress 1.首先安装需要的软件 yum -y install mysql-server httpd phpphp-mysql 2.启动mysql以及httpd服务 service mysqld start service httpd start 3.创建虚拟主机 4.测试 PHP 和Httpd

在Ubuntu上部署开源博客系统Blog_mini

0.说明 本文为开源博客系统Blog_mini的官方部署文档,通过本文的阅读,你将可以在一个全新的CentOS系统上完全部署Blog_mini,从而成功架设属于你的个人博客网站. 这里使用的操作系统为:Ubuntu 15.10,理论上,只要操作系统上安装的Python版本为2.6.x或2.7.x,都可以成功部署Blog_mini. 1.获取Blog_mini源代码 有以下两种方式可以获取Blog_mini的源代码: 通过git的方式 通过Blog_mini项目主页下载 我们将介绍这两种方法,实际

发布论坛discuz、发布wordpress博客系统

一:发布论坛discuz: 1.配置数据库: mysql -uroot -p123123 mysql> create database bbsdb; mysql> grant all on bbsdb.* to 'runbbs'@'localhost' identified by '123123'; mysql> flush privileges; mysql> quit 2.下载discuz并发布: lftp 192.168.100.100 lftp 192.168.100.10

巨杉Tech | 十分钟快速搭建 Wordpress 博客系统

介绍很多互联网应用程序开发人员第一个接触到的网站项目就是博客系统.而全球使用最广的Wordpress常常被用户用来快速搭建个人博客网站.默认情况下,Wordpress一般在后台使用MySQL关系型数据库存储所有的博文及回复.本文将展示如何使用 SequoiaDB 巨杉分布式数据库替换MySQL,成为Wordpress博客系统的后台关系型数据库. 通过阅读本文,用户可以了解到如何使用SequoiaDB巨杉数据库的MySQL实例无缝替换标准MySQL数据库.SequoiaDB巨杉数据库允许用户在不更

一个前端写的php博客系统--支持markdown哦

部署的地址 我的博客地址:http://www.weber.pub/ 起因 最近买了个新的域名,同时在阿里云申请了免费的虚拟主机...借此机会就想搞个自己的博客站点,虽然之前也使用了hexo + github . WordPress 做过,但是我的阿里云虚拟主机实在是不知道怎么去搞hexo (也许根本就搞不起来,除非自己花钱买主机,哈哈)...WordPress总是感觉好笨重,运行起来一股的人到中年,气喘吁吁啊...百度之后,typeecho成了首选,但是markdown竟然有问题...一口老血

一个基于Microsoft Azure、ASP.NET Core和Docker的博客系统

原文地址: http://www.cnblogs.com/daxnet/p/6139317.html 2008年11月,我在博客园开通了个人帐号,并在博客园发表了自己的第一篇博客.当然,我写博客也不是从2008年才开始的,在更早时候,也在CSDN和系统分析员协会(之后名为“希赛网”)个人空间发布过一些与编程和开发相关的文章.从入行到现在,我至始至终乐于与网友分享自己的所学所得,希望会有更多的同我一样的业内朋友能够在事业上取得成功,也算是为我们的软件事业贡献自己的一份力量吧,这也是我在博客园建博客

项目实战(连载):基于Angular2+Mongodb+Node技术实现的多用户博客系统教程(4)

本章主要讲什么(一句话)? <项目实战:基于Angular2+Mongodb+Node技术实现的多用户博客系统教程(4)> -- 基于Node的Express项目环境框架搭建 一.前言 从本节开始,我们将正式[多用户博客系统]的项目开发工作.首先我们先从后台Node部分开始做起,一步步带领大家完成整个博客系统的开发. 本篇将主要帮助大家把Node环境下的Express框架搭建起来,后继后台将会在这个框架上进行扩展与业务逻辑开发. 二.项目环境 Node.js: v 6.x Express: v