建站问题 第3页
一. 前言 二. 接下来就是搭博客的过程 三、大功告成 一. 前言 开学之初,我发现Azure上有一个100刀的学生优惠。但在领取这个优惠之后,我却一直没有使用的机会,一是自己不会用,二是没有多余的时间。现在等来了放假,终于可以好好搞一搞了。:joy: 这次搭博客可谓是踩了不少坑: 百度的教程基本上都是废的,只有谷歌的英文教程才是能用的,好气啊 apache2是真难用 php各个版本让人混乱 二. 接下来就是搭博客的过程 1、进入Azure的门户,添加一个Ubuntu的主机,学生优惠的主机为B1S,我使用的是公钥登陆,生成公钥的过程就不说了 2、在网络安全组的入站规则中添加443和80端口 3、接下来是连接主机。可以使用PuTTY或者是MobaXterm,输入ip和用户名,再加上私钥就可以连接了。 4、安装Nginx sudo apt-get update sudo apt-get install nginx 安装完成后可以用以下命令操作nginx sudo systemctl stop nginx.service sudo systemctl start nginx.service sudo systemctl enable nginx.service 打开网页看看是否有这样的页面出现,如果有的话就可以进行下一步操作了 5、安装MariaDB sudo apt-get install mariadb-server mariadb-client 对于Ubuntu 16.04有以下命令 sudo systemctl stop mysql.service sudo systemctl start mysql.service sudo systemctl enable mysql.service 输入 sudo mysql_secure_installation 然后进行以下操作 Enter current password for root (enter for none): Just press the Enter Set root password? [Y/n]: Y New password: Enter password Re-enter new password: Repeat password Remove anonymous users? [Y/n]: Y Disallow root login remotely? [Y/n]: Y Remove test database and access to it? [Y/n]: Y Reload privilege tables now? [Y/n]: Y 测试以下密码是否能登陆 sudo mysql -u root...
背景 虚拟主机 fastcgi 部署流程 部署架构 环境 架构图 编译软件 安装开发环境和必要的包 编译httpd 编译php 安装mariadb 配置文件修改 修改httpd主机 修改fast-cgi主机 配置mysql 宿主机的hosts文件修改 安装wordpress和Discuzx 背景 虚拟主机 如今服务器的配置提升明显,单一主机上部署单一网站会对主机造成大量的性能损失,因此web服务虚拟主机的技术应运而生。所谓虚拟主机指的是在一台机器上运行多个网站(如company1.example.com和company2.example.com)的做法 。虚拟主机可以是“ 基于IP的 ”,这意味着每个网站都有不同的IP地址,或者“ 基于名称 ”,这意味着每个IP地址上都有多个名称,或者“基于端口”,这意味着在同一ip的不同端口上提供不同的网站,通过这些方法使得他们在同一台物理服务器上运行的事实对最终用户来说并不明显。 Apache是第一批支持基于IP的虚拟主机的服务器之一。Apache的版本1.1及更高版本支持基于IP和基于名称的虚拟主机(虚拟主机)。虚拟主机的后一种变型有时也被称为基于主机的或非IP虚拟主机。 fastcgi FastCGI像是一个常驻(long-live)型的CGI,它可以一直执行着,只要激活后,不会每次都要花费时间去fork一次(这是CGI最为人诟病的fork-and-execute 模式)。它还支持分布式的运算, 即 FastCGI 程序可以在网站服务器以外的主机上执行并且接受来自其它网站服务器来的请求。 FastCGI是语言无关的、可伸缩架构的CGI开放扩展,其主要行为是将CGI解释器进程保持在内存中并因此获得较高的性能。众所周知,CGI解释器的反复加载是CGI性能低下的主要原因,如果CGI解释器保持在内存中并接受FastCGI进程管理器调度,则可以提供良好的性能、伸缩性、Fail- Over特性等等。 部署流程 部署架构 环境 3台主机用于分别部署httpd,php和mysql,实现分离 软件版本 架构图 编译软件 这里我们需要编译的软件为httpd和php,mysql可以考虑使用二进制包或者直接官方yum安装 安装开发环境和必要的包 1.安装centos开发工具包 yum groupinstall "development tools" -y 2.安装编译httpd和php需要的包 #部分包需要epel源 #yum install epel-release -y yum install pcre-devel openssl-devel expat-devel libxml2-devel bzip2-devel libmcrypt-devel -y 编译httpd 这里在192.168.99.130机器上编译httpd2.4 1.创建apache用户 useradd -r apache -s /sbin/nologin 2.解压httpd,apr,apr-util源码包,这里需要的包均可在httpd官网下到 tar xvf httpd-2.4.33.tar.bz2 tar xvf apr-1.6.2.tar.gz tar xvf apr-util-1.6.1.tar.gz 3.编译httpd #移动解压的apr和apr-util到指定的httpd源码目录可以省去分别编译3个程序 mv apr-1.6.2 httpd-2.4.33/srclib/apr mv apr-util-1.6.1 httpd-2.4.33/srclib/apr-util #编译参数,具体含义可以参考./configure的帮助文档或者官方文档 ./configure \ --prefix=/app/httpd24 \ --enable-so \ --enable-ssl \ --enable-cgi \ --enable-rewrite \ --with-zlib \ --with-pcre \ --with-included-apr \ --enable-modules=most...
【腾讯云】2核2G云服务器新老同享 99元/年,续费同价,云服务器3年机/5年机限时抢购,低至 2.5折
还记得之前想要获取 WordPress 站点的所有文章总数统计网上的教程,以及子凡在某些地方的使用也都是直接使用 SQL 语句直接查询数据来做总数统计,现在相信还真的是费时费力,原因就是不知道 WordPress 还有 wp_count_posts()这样一个函数,具体是哪个版本出来就懒得去看了,反正随时都保持 WordPress 最新版。 其实在很多的 WordPress 主题上都会有一个统计或者文章归档的页面,就需要统计一些 WordPress 站点上已经发布多少文章了,以此来展示自己的站点或者给自己一个统计,当然我们在开发某些特别的功能或者逻辑计算时也可能会用到,子凡昨天就开发一个插件的时候就多次用到了,不想再去写 SQL 来统计,费时费力并且 WordPress 本身就有的功能为什么就不好好利用呢,果断就想起了 wp_count_posts 函数。 wp_count_posts 函数是在 WordPress 中用来统计文章数量的函数,可以统计的类型有文章(post)和页面(page)。并且能够直接统计出文章各个不同状态的数据,使用起来非常的便捷,两行代码即可搞定。 //获取文章数量 $postcount = wp_count_posts(); //获取页面数量 $pagecount = wp_count_posts('page'); 默认是获取的 post 文章类型的,当然如果是自定义类型应该也是可以支持的,这个子凡目前没有测试,不过相信 WordPress 是绝对考虑到了兼容性的,值得注意的是,子凡上面说过了是两行代码,所以上面的例子并不能直接输出,因为 wp_count_posts 函数返回的是一个对象数据,如下。 // WordPress wp_count_posts 函数返回值 stdClass Object ( [publish] => 11 //已发布 [future] => 0 //定时发布 [draft] => 0 //草稿 [pending] => 0 //待审 [private] => 0 //私有 [trash] => 0 //垃圾箱 [auto-draft] => 34 //自动草稿 [inherit] => 0 //修订版本 [request-pending] => 0 [request-confirmed] => 0 [request-failed] => 0 [request-completed] => 0 ) 所以,获取已发布状态文章的完整统计代码如下: //WordPress 已发布文章数量 $count_posts = wp_count_posts(); $publish_posts = $count_posts->publish; 其它的就举一反三,相信也都能看得懂了,子凡就不再过多的赘述。最后在补充一点,有时候我们可能喜欢代码的简单性,所以在写法上面就比较大胆,没有怎么考虑兼容性,一行代码就能搞定,所以在不考虑兼容性的情况下还有以下的一种写法: //WordPress 已发布文章数量,不兼容 PHP5.4 以前 $publish_posts = wp_count_posts()->publish; 子凡比较喜欢用吧,不过使用这种写法请一定保证你的 PHP 版本在 5.4 以上即可正常运行。
1. 准备 LNMP 环境 2. 安装wordpress 3. 配置 一开始搭建的hexo博客,hexo博客有个缺点,他是用nodejs的服务器,不太稳定,服务器经常挂。所以最后还是决定用nginx+php-fpm搭建一个wordpress站点,这样网站就比较稳定。废话不多说,直接进入主题。 我是用的centos的服务器,下面的一些个命令也是centos的命令,不过其他的也相差不大,主要的是步骤正确就好。 1. 准备 LNMP 环境 安装nginx 使用yum安装nginx yum install nginx -y 安装完之后修改配置文件 /etc/nginx/nginx.conf ps:要是配置文件不在这个位置的,可以利用find命令和whereis命令进行查询,参考我另外两篇博文 配置文件参考下面进行更改: 这一步,只需要两处,去除对 IPv6 地址的监听,修改要监听的域名,即: #listen [::]:80 default_server; server_name www.***.com; 修改完了之后,就可以启动nginx,查看自己网站首页了,应该看到的是一个nginx测试页面。 启动nginx nginx 将 Nginx 设置为开机自动启动: chkconfig nginx on 安装php+php-fpm+php-mysql 这一步有两个选择,安装php7.0版本或是老的版本 安装老的版本比较简单: yum install php-fpm php-mysql -y 要是想安装php7.0版本,要先添加源,再安装: 如果是centos6,那么执行以下命令 CentOS/RHEL 6.x: rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm rpm -Uvh https://mirror.webtatic.com/yum/el6/latest.rpm 如果是centos7.x,那么执行以下命令 CentOS/RHEL 7.x: rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm 安装php和插件: 可以像上面一样,需要哪个装哪个,也可以全部安装 全部安装: yum install php70w php70w* 安装需要的: yum install php70w-common php70w-fpm php70w-opcache php70w-gd php70w-mysqlnd php70w-mbstring php70w-pecl-redis php70w-pecl-memcached php70w-devel 具体可以参考:帐号登录 完了之后启动php-fpm: service php-fpm start 安装mysql yum install mysql-server -y 行不通可参考:centos7 mysql数据库安装和配置 2. 安装wordpress yum install wordpress -y 安装完成后,就可以在 /usr/share/wordpress 看到 WordPress 的源代码了。 由于上面的安装方法默认安装的是英文版,所以我们还要下载中文语言包,如果不需要中文安装可跳过此步骤 wget https://cn.wordpress.org/wordpress-4.8.1-zh_CN.tar.gz tar -zxvf wordpress* mv -f wordpress/wp-content/languages /usr/share/wordpress/wp-content/...
1、准备 2、Nginx配置 3、安装WordPress 4、启用多站点功能 5、设置域名映射 6、结果 WordPress的多站点功能允许安装一个WordPress程序的情况下,实现多个站点(也就是一套程序,可以绑定多个域名或子域名)。 每个站点拥有独立的主题、插件、文章以及页面。 这样可以极大的减少了维护和更新多个WordPress安装程序的麻烦, 并且,每个站点之间又能够相互独立,互不影响。 WordPress multisite有两个方式:子目录和子域名,这里我们主要介绍子域名方式。 也就是说,在主域名的基础上,我们会创建一个子域名,例如:http://shop.awaimai.com。 同时,我们可以映射这个子域名到一个一级域名如:http://shop.com, 对于访问者来说,访问的就是独立的一级域名。 1、准备 WordPress介绍其多站点功能页面:站点网络管理页面 接着,我们准备几个域名,如下: 站点一:www.awaimai.com(主域名),这是安装WordPress时用的域名 站点二:blog.awaimai.com,二级域名 站点三:news.com,映射的二级域名 news.awaimai.com 站点四:shop.com,映射的二级域名 shop.awaimai.com 注意:WordPress安装后请勿擅自在后台修改域名,即使是把有www改成无www,或者反过来,都有可能引起 redirected you too many times. 错误,详情请看[参考资料2] 然后,登录域名服务商的解析页面,把以上域名的A记录全部设置为WordPress安装的服务器IP。 也可以在本地电脑测试,可以直接修改hosts文件,加入下面1行: 127.0.0.1 www.awaimai.com blog.awaimai.com news.com shop.com 2、Nginx配置 在Nginx配置目录下创建新建一个配置文件,如下: $ sudo vi /etc/nginx/conf.d/awaimai.conf 内容为: server { listen 80; server_name www.awaimai.com blog.awaimai.com news.com shop.com; root /usr/share/nginx/wordpress; index index.php; location / { try_files $uri $uri/ /index.php?$args ; } location ~ /favicon.ico { access_log off; log_not_found off; } location ~ \.php$ { try_files $uri /index.php; include fastcgi_params; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } access_log /var/log/nginx/$host-access.log; error_log /var/log/nginx/wpms-error.log; } 这里我们使用$host变量可以让Nginx为每个域名生成独立的访问日志, 如:news.com-access.log 和 shop.com-access.log。 但是error日志不能用$host变量,所以所有的错误会记录在一个文件里面。 再重启Nginx服务器: $ nginx -s reload 3、安装WordPress 按照WordPress正常安装步骤安装WordPress。 4、启用多站点功能 用文本编辑器打开 wp-config.php 文件,在注释:/* 好了!请不要再继续编辑。请保存本文件。使用愉快! */之前加上如下一行: /* Multisite settings */...
WordPress 3.0以上的版本支持直接开启多站点模式,这样一来,你可以在一个后台切换多个站点进行管理。多站点模式可以使用多个不同的域名绑定,避免了在同一个服务器安装多个WordPress的尴尬,管理多个网站非常方便,下面就介绍一下安装和启用多站点的操作方法。 开启网络配置 在网站根目录下的 wp-config.php 添加: define('WP_ALLOW_MULTISITE', true); 配置多站点模式 刷新网站后台,访问 工具 > 配置网络,根据自己的需要选择“子域名”或者“子目录”模式,然后点击“安装”,如果需要绑定域名,可以选择“子域名”模式。之后系统会生成两段代码,一段添加到网站根目录下的 wp-config.php 中,一段添加到网站根目录下的 .htaccess 文件中。 添加网站域名 服务器Apache设置为泛域名解析,然后在 我的站点 – 管理网络 – 站点 里,添加新的站点,选一个子域名添加站点。 添加好了以后,在子域名上点编辑,把里面的“站点地址(URL)”修改为指定的独立域名,然后将该独立域名DNS绑定过来,即可完成配置。 设置COOKIE 在网站根目录下的 wp-config.php 添加: define( 'COOKIE_DOMAIN', '' ); 这步操作很重要,如果不设置的话,之后登录网站后台会提示“错误:Cookies被阻止或者您的浏览器不支持。要使用WordPress,您必须启用Cookies。” 之后,用户就可以用一套WordPress程序来管理多个不同的站点,可以同步调整主题和插件,这些站点可以是完全不同的域名,管理起来非常方便。 如果有不懂的、欢迎加入我们学派吧。一起学习交流。右上角站长群
有需要服务器方面的需求和咨询,可以联系博主 QQ 7271895 禁用文章修订历史版本 禁用自动保存功能 禁用自动草稿功能 下面的方法需要修改源文件所以在打开每一个文件之前,记得一定要先做好备份! 禁用文章修订历史版本 1.打开 wp-config.php 文件 2.在 $table_prefix = \’wp_\’; 前面添加下面的两行代码: define(\'WP_POST_REVISIONS\', false);//禁用历史修订版本 define(\'AUTOSAVE_INTERVAL\', false);//自动保存时间设置为一天 如下: 禁用自动保存功能 1.打开 wp-admin/post.php 文件,搜索 if ( \’attachment\’ !== $post_type ) ,找到以下代码 150-151行 if ( \'attachment\' !== $post_type ) wp_enqueue_script(\'autosave\'); 将这两行用注释符号//注释即可!如下: 2.打开 wp-admin/post-new.php 文件,搜索 wp_enqueue_script( \’autosave\’ ); (69行),在代码前面加//将其注释或删除 禁用自动草稿功能 打开 wp-adminincludespost.php 文件,搜索 if ( $create_in_db ) { 找到以下代码 597行 $post_id = wp_insert_post( array( \'post_title\' => __( \'Auto Draft\' ), \'post_type\' => $post_type, \'post_status\' => \'auto-draft\' ) ); $post = get_post( $post_id ); 修改为: global $current_user,$wpdb; $post = $wpdb->get_row( "SELECT * FROM $wpdb->posts WHERE post_status = \'auto-draft\' AND post_type = \'$post_type\' AND post_author = $current_user->ID ORDER BY ID ASC LIMIT 1" ); if (!($post) ) { $post_id = wp_insert_post( array( \'post_title\'...
有运维或服务器方面的需求,可以联系博主 QQ 7271895 简介 受影响的版本 攻击带来的影响 技术细节 临时修复程序 时间线 总结 导语:WordPress是网络上最受欢迎的CMS。在这篇文章中,我们将讲述在WordPress内核中引入一个经认证的任意文件删除漏洞,这个漏洞可能会导致攻击者执行任意代码。 简介 WordPress是目前网络上最受欢迎的CMS。根据w3tech的资料显示,约有30%的网站都在使用它1。这种广泛的采用,也使其成为了网络犯罪分子非常感兴趣的一个目标。在这篇文章中,我们将讲述在WordPress内核中引入一个经认证的任意文件删除漏洞,这个漏洞可能会导致攻击者执行任意代码。在7个月前,我们向WordPress安全团队报告了这个漏洞,但至今依然没有得到修复。由于经过了这么长时间,WordPress官方都没有发布任何补丁或具体修复计划,所以我们决定公开这个事件。 受影响的版本 截止到本篇文章发送时,还没有补丁可防止此漏洞的使用。任何WordPress版本(包括当前的4.9.6版本),都容易受到该漏洞的影响。 如果要利用该漏洞,攻击者需要事先获得编辑和删除媒体文件的权限。因此,该漏洞可以通过对与作者权限相同的用户来提升权限,或者通过其他漏洞的错误配置来利用。 攻击带来的影响 利用此漏洞,使攻击者能够删除WordPress安装的任何文件(+ PHP服务器上的任何其他文件,PHP进程用户具有适当的删除权限)。除了删除整个WordPress安装文件对系统的影响(如果没有当前备份可用,会导致灾难性后果),攻击者可以利用任意文件删除功能绕过一些安全措施,并在Web服务器上执行任意代码。更确切地说,可以删除以下文件: .htaccess:一般来说,删除此文件不会有不安全的影响。但是,在某些情况下,.htaccess文件包含与安全相关的约束(例如,对某些文件夹的访问限制)。因此,删除此文件将会禁用这些安全限制。 index.php文件:通常情况下,将空的index.php文件放置到目录中,以防止Web服务器无法执行的情况下的目录列表。如果删除这些文件则将为攻击者提供一份列表,列出受此措施保护的目录中的所有文件。 wp-config.php:删除这个WordPress安装文件,会在下次访问该网站时触发WordPress安装过程。这是因为wp-config.php包含数据库凭证,如果没有它,WordPress的将认为它尚未安装。攻击者可以删除该文件,使用管理员帐户选择的凭据进行安装过程,最后在服务器上执行任意代码。 如需观看视频,请点击此处查看原文https://blog.ripstech.com/2018/wordpress-file-delete-to-code-execution/ 技术细节 当用户输入传递文件删除功能时,会发生任意文件删除漏洞。在PHP中,当unlink()调用该函数,并且用户输入可能会影响部分或整个参数$filename(表示要删除的文件的路径)时,会发生这种情况,而WordPress不会进行适当的处理。 在该wp-includes/post.php文件中找到了在WordPress Core中使这个漏洞成为可能的代码部分: WordPress内核中一个任意文件删除漏洞,可导致攻击者执行任意代码 在wp_delete_attachement()上面显示的功能中,$meta[‘thumb’]呼叫中使用的内容unlink()未经过任何处理。这段代码的目的是在删除图像的同时删除图像的缩略图。在WordPress中通过媒体管理器上传的图像被表示为附属类型的帖子。该值$meta[‘thumb’]从数据库中检索,并保存为表示图像的文章的自定义字段2。因此,在数据库检索和关键函数调用之间使用unlink(),表示缩略图文件名的值不经过任何清理或检查。如果该值在保存到数据库之前也没有经过任何安全措施,我们将在下一个代码列表中看到情况,我们有一个二阶任意文件删除漏洞。 WordPress内核中一个任意文件删除漏洞,可导致攻击者执行任意代码 此代码片段/wp-admin/post.php代表了附件中属于附件的缩略图的文件名如何保存到数据库中。在从保存在$_POST[‘thumb’]数据库中的用户输入中检索和保存到数据库wp_update_attachment_metadata()之间没有任何安全措施,以确保该值代表正在编辑的附件的缩略图。$_POST[‘thumb’]对于任何文件的路径,这个值可以保存到WordPress上传目录的相对路径中,当附件被删除时,该文件将被删除,如第一列表中所示。 临时修复程序 在编写此篇文章时,此漏洞在WordPress内核中仍未被修复。正因为这样,我们开发了一个临时修复程序。通过将修复程序添加到functions.php当前活动的主题/子主题文件中,可以将修复程序集成到现有的WordPress安装中。 WordPress内核中一个任意文件删除漏洞,可导致攻击者执行任意代码 所有提供的修复程序都会挂接到wp_update_attachement_metadata()调用中,并确保为元值提供的数据thumb不包含任何使路径成为可能的部分。因此,不能删除与安全相关的任何文件。 我们所提供的修复方案属于临时修复,以防止攻击。我们无法监督WordPress插件的所有可能的向后兼容性问题,因此建议您谨慎的对WordPress文件进行任何修改。 时间线 总结 在这文章中,我们介绍了WordPress内核中引入了一个任意文件删除漏洞,它允许任何具有作者权限的用户完全接管WordPress网站,并在服务器上执行任意代码。该漏洞去年已报告给WordPress安全团队,但在编写本文时仍然没有作任何修复。 为了提高对此漏洞的认识,我们决定发布一些细节和修复程序。使用我们的安全分析解决方案可以轻松发现漏洞,我们确信这个问题已经被许多研究人员所了解。尽管用户帐户的需求阻止了任意WordPress站点的大规模开发,但共享多个用户帐户的WordPress站点应该应用此修复程序。 如果有不懂的、欢迎加入我们学派吧。一起学习交流。右上角站长群
今天学派吧分享一款免费的企业主题,也挺好看的。就发了出来 这是由作者小兽推出并免费分享体验版wordpress企业主题XSding,采用自适应设计,基础SEO功能,简单易操作的后台面板。主题整体比较简单,首页主要有关于我们、新闻中心和产品中心三个展示模块,基本可以满足小型企业建站需求。 [dltable file=”主题下载” size=”3000KB”][dl href=”]http://pan.boke8.net/download/wordpress-xsdingg.zip[/dl][/dltable]
学派吧- 今天小编看到群里的兄弟说 他的wordpress无法上传图片。看到后。我看了下资料。并发给了他解决方法。等待测试结果。 报错: 网上的方法千篇一律,要么修改服务器设置,要么改.htaccess文件,而今天为大家提供一种更实用的方法,利用wp的过滤器来修复此http错误。将下面的代码添加到主题的functions.php文件中即可。 add_filter( 'wp_image_editors', 'change_graphic_lib' ); function change_graphic_lib($array) { return array( 'WP_Image_Editor_GD', 'WP_Image_Editor_Imagick' ); } 如果各位朋友有更好的解决方法,欢迎投稿到我们学派吧。在此谢谢关注我们学派吧的所有网友。
前言 今天小编一直在处理关于wprdpress无法分享问题、网上教程看了很多。基本上操作相同、但是主题不同,有些办法是行不通的。 今天我把操作的流程截图记录下来,已被其他网友使用。 开始操作 1:解决百度分享代码无法在https模式下使用的问题 下载百度分享代码到本地,下载地址:https://github.com/hrwhisper/baiduShare 使用方法: static文件夹放在网站的根目录下,并将对应的百度分享代码中, 主要修改地方为当前主题的js调用文件,我的是在/wp-content/themes/Git-alpha/assets/js/文件里面 把http://bdimg.share.baidu.com/改为自己的域名,记得带上https:// 然后通过审核元素、看看是否还有什么错误。
学派吧-搜集一款简单、快捷的 代码替换软件。可针对asp、php、JSP、html 等主流程序 为了防止恶意下载、请加我们的站长群。找管理索要。 [pay point=”10″][/pay]
[v_tips]502 Bad Gateway错误的含义是什么?[/v_tips] 502 Bad Gateway错误是个HTTP状态代码,意味着互联网上的一台服务器收到了来自另一台服务器的无效响应。用技术性更强的话来说,502 Bad Gateway意味着代理(网关)服务器无法获得来自上游服务器的有效响应或任何响应。 W3.org的官方文档指出,这与以5(5xxx)开头的HTTP状态代码与几台服务器之间通信不畅时发生的错误有关。 如果你在网站上看到502 Bad Gateway错误,表明源服务器向另一台充当网关或代理的服务器发送了无效响应。要经过一番棘手的调查才能找出问题具体出在哪里。不过,你可以遵循几个基本的排查步骤来解决这个问题。 [v_notice]如何解决502 Bad Gateway错误(3种可能的办法)[/v_notice] 1:检查服务器 如果你看到图中所示的错误,很可能问题出在Web服务器。 不妨检查一下Web服务器配置,本例中服务器运行Nginx。WordPress在PHP和MySQL上运行。所以在Nginx中,我们需要检查PHP文件是如何处理的。在Nginx服务器部分找到“location ~ \.php$”。 ssh@your_ip -p7022 从图中所示的Nginx配置来看,PHP文件由在端口9000运行的fastcgi来处理。 不妨检查端口上运行的是什么。 netstat -pltn | grep 9000 如果你在执行该命令后没看到任何结果,表明进程已终结。这是你看到502 Bad Gateway错误的原因。 在最新版CentOS和Ubuntu中,可以调用此命令来查看应该从哪里运行进程: systemctl list-unit-files | grep fpm 执行该命令来运行服务: systemctl start php7.0-fpm 现在,进入到Web浏览器,检查你的网站。 如果你使用CloudFlare,看到如下图所示的502 Bad Gateway错误,你的Web服务器极有可能是宕机了。可以尝试重启Apache或Nginx,这取决于你使用哪种Web服务器。 2. 清除缓存 如果已采用第一个办法,但还是看到502 Bad Gateway错误,那么你的Web浏览器仍依赖缓存。我们得告诉Web浏览器从网站加载最新版本。为此,我们可以按下键盘上的Ctrl + F5(Windows/Linux)、工具栏中的Shift + Reload按钮(Safari浏览器),或者CMD + Shift + R(针对Mac用户的Chrome和Firefox)。 3. 禁用CDN 如果你在使用CloudFlare,可以尝试暂时禁用CDN。 4. 检查脚本 如前所述,502 Bad Gateway错误是由于Web服务器出了问题。比如说,有时候,php进程因使用高端内存(high memory)而被服务器终结。这个终结过程会在一段时间后终止请求,这也会导致网站宕机。但是网站通常会自动可以访问,因为这时PHP进程重新生成。为了永久解决这个问题,要检查哪个php脚本在使用高端内存。 5. 检查插件和主题 排查哪个插件导致错误很简单。即使我们无法访问WordPress后端,也可以通过重命名插件目录,一次性禁用所有插件。为此,使用SSH连接到你的服务器。请注意:你也可以使用FTP客户软件(比如FileZilla)来执行此操作。 你可以逐个启用插件,按照以下步骤操作: 进入到wp-content目录,我们可以看到没有插件目录,我们已对其重命名。 不妨创建一个插件目录,并将一个插件移过去。这会自动启用该插件。 有时,排查WordPress错误比我们想象的要容易,但有时也可能很难解决。 当然,如果你的WordPress VPS由服务提供商托管,无需为服务器操心,提供商的技术支持团队会马上帮你调查和解决这个502 Bad Gateway问题。他们随时待命,能够解答任何问题或要求。 欢迎加入我们的QQ群,进行讨论学习 学派吧
现在有很多朋友想自己做个博客、或者一个展示页面,如今要实现自己的博客网站已经很简单了。这几天我就尝试了一下,随便记录下来,给网友分享下 做自己的博客是需要一些东西的 1:域名:国内一些大型的网络公司的都可以的 阿里云、腾讯云 景安云、西部云、 2 :服务器:现在服务器太多了。五花八门、很多人都不知道如何下手、小编今天给大家简单介绍下、阿里、腾讯、大公司、适合会点运维的朋友。他们不负责环境等问题的处理的 而我们网站、选择的是景安快云vps、价格便宜、售后好、推荐代理购买。价格更优惠 www.sq9.cn ,小编只是建议 3: WordPress程序安装了、 举例:以景安快云vps为例: 首先www.sq9.cn 注册会员、联系客服索要折扣、 然后开通、系统建议选择 centOS 7.2 64位 挺稳定的 然后安装宝塔: yum install -y wget && wget -O install.sh http://download.bt.cn/install/install.sh && sh install.sh 然后以后、进入宝塔、会选择环境安装、学派吧建议 安装第二个 apache+php7.1+mysql5.5 1:安装完毕后、点网站管理、创建网站、FTP、数据库、 2:下载程序、通过FTP工具或者宝塔面板上传WordPress 3:安装wordpress。浏览器地址栏输入服务器商给的ip,出现安装提示页面 4:输入数据库信息、开始安装,进入安装页面, 5:然后安装完成: 6:打开浏览器 输入IP 。你的博客就出来了。 至此,整个过程完成了,你可以自己去后台去选择主题,添加插件,发表博客了。 很多朋友感觉这个主题不好看。可以去搜索一下 好看的主题、下载下来 进行安装、如又不懂、欢迎加我们右上角的QQ群。 学习交流
[v_tips]今天有个客户找到我们学派吧、咨询wordpress搬迁以后、上传图片无法显示的问题、我们协助客户看了下、上传图片以后,在空间里没有这个图片、打开上传的图片地址提示404错误 我们先是检查了wp-config.php配置文件。没有任何问题、[/v_tips] 经过排除图片名称及目录权限等问题后,最终发现原来是数据库的问题。 进入PHPMyAdmin数据库,查看一下wp_options表里的upload_path键值,看看路径是不是wp-content/uploads,如果不是这个路径,将路径修改成wp-content/uploads然后保存。(这里的wp_options是默认的数据表前缀:wp_ ,也许在建站的时候用的并非这个前缀。但是也能找到options,然后在里面查看upload_path键值内容。确保为wp-content/uploads)一般会出现在第二页。如下图: 修改后,确认即可,你会发现问题已经解决了。这里主要是你搬家前的服务器和现在用的服务器类型不同造成的。 不懂服务器、建站方面的知识,请关注我们学派吧、一起学习 ,一起交流。
这两天没事、也看下怎么给导航栏加上点图标,稍微好看点。哈哈 这个也是请教了朋友,在做好了。 下面我按操作。保存下教程 1:http://www.iconfont.cn/ 先去注册个账户、 font-class引用 [v_tips]font-class是unicode使用方式的一种变种,主要是解决unicode书写不直观,语意不明确的问题。 与unicode使用方式相比,具有如下特点: 兼容性良好,支持ie8+,及所有现代浏览器。 相比于unicode语意明确,书写更直观。可以很容易分辨这个icon是什么。 因为使用class来定义图标,所以当要替换图标时,只需要修改class里面的unicode引用。 不过因为本质上还是使用的字体,所以多色图标还是不支持的。 使用步骤如下: 第一步:拷贝项目下面生成的fontclass代码: //at.alicdn.com/t/font_8d5l8fzk5b87iudi.css 第二步:挑选相应图标并获取类名,应用于页面: [/v_tips] 有不懂的朋友 可以加我Q或者发评论 联系 QQ 690624
如果我使用服务器来存放这些视频,怎么调用呢? 使用以下的代码来插入自己的网站的视频: 代码里面的 http://www.player.com/v.swf 要换成你自己的视频的的地址,即你上传到网站空间上的视频的路径。
很多朋友网站访问量稍微增加点、就突然报错,出现数据库挂的情况。一般都是mysql服务设置不当,导致mysql连接数量超过限定值,或者应用程序设计有问题,导致大量休眠连接不能及时释放。 mysql -u root -p 执行指令 show processlist; 查看当前连接数量。 如果进程过多,或存在大量超时的休眠sleep连接,编辑/etc/mysql/my.cnf vim /etc/mysql/my.cnf 在[mysqld]字段处,添加,或去掉注释 max_connections = 500 #增加mysql连接数 wait_timeout = 10 #断开超过10秒的连接 有些没有经过仔细设计,或者需要启用服务器上特定模块的插件,很可能会导致这类的问题。