如何用nginx配置wordpress的方法示例

之前,我曾自己搭建过Wordpress,只不过那时候用的是第三方的虚拟主机,一台机器上可能有几十个网站。那时候的虚拟机还没做到物理层面的隔离,一个网站占用资源可能会导致所有网站宕机。

最近尝试了下在阿里云ecs上搭建了独立的wordpress,记录下搭建的过程。

原先我想尝试使用apache作为wordpress的容器,用nginx作为反向代理直接代理到apache。但是在我使用了apache后,发现了一个问题,直接使用nginx作为反向代理,转到apache后,url伪静态貌似无法访问,好像需要对每一个url进行nginx的location配置,感觉太过麻烦,就放弃了。

当然也有可能有其他解决方法,不过我没尝试,后来我查询了下nginx是可以利用第三方插件支持php的。直接利用nginx做容器也有优点,部署起来相对简单,多个网站也可以直接通过nginx单个容器进行部署。

1.域名购买

这个就不多讲了,去域名平台申请域名。

2.mysql安装

安装mysql的方法我之前已经讲过,具体可以看 这里 。安装完成之后,我们需要为wordpress建立一个单独的账户,为什么要建立一个单独的账户呢?主要是为了安全考虑,如果wordpress被攻击了,而你使用了root账户,那么数据库中的所有表都会被暴露。

// 创建wordpress用户,并设置密码,密码建议随机生成,并且不少于8位,采用大小写,数字,特殊字符组合
CREATE USER 'wordpress'@'%' IDENTIFIED BY 'password';

//给予wordpress这个账户所有的操作权限,包含 select delete update insert create alter 等
GRANT all ON wordpress.* TO 'wordpress'@'%';

权限详细信息可以参考这里。

3.nginx安装

nginx采用yum方式安装,非常简单。

安装:

yum -y install nginx;

启动:

systemctl start nginx.service;

两个步骤就完成了nginx的安装。

4.安装php

4.1 php安装

yum -y install php;

php安装非常简单,安装完成之后,执行以下命令查看,显示版本,则说明安装正确:

php -v;

4.2 php-fpm 安装

除了php之外,我们还需要用到两个东西,fast-cgi和php-fpm。那么这两样东西是什么呢?如果想了解详情的,可以看 这里 ,简单的说fpm就是fastcgi的一个管理器。在此之前我一直不知道需要安装fpm才能正确解析php文件的,折腾了很长的一段时间。

yum install php-fpm;

//查看是否安装成功
php-fpm -v;

启动php-fpm
systemctl start php-fpm;

fpm默认占用的是9000端口。

5.安装wordpress

wget https://wordpress.org/latest.tar.gz;

//解压
tar -xzf latest.tar.gz -C /var/www/html;

解压完成之后,找到:/wordpress/wp-config-sample.php文件,修改数据库名称、用户名、密码,字段如下:

// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define('DB_NAME', '你的数据库名称');

/** MySQL database username */
define('DB_USER', '你的用户名');

/** MySQL database password */
define('DB_PASSWORD', '你的密码');

/** MySQL hostname */
define('DB_HOST', '你的host');

修改完成之后,把wp-config-sample.php的文件名改为:wp-config.php。

6.配置nginx

以下是我的配置,可以参考:

# * Official English Documentation: http://nginx.org/en/docs/
# * Official Russian Documentation: http://nginx.org/ru/docs/

upstream php {
 #server unix:/tmp/php-cgi.socket;
 #指向到fpm的默认9000端口,
 server 127.0.0.1:9000;
}

server {
 listen  80 ;
 listen  [::]:80 ;
 server_name www.domain.com;
 root   /web/www.domain.com/;
 index  index.php;

 location ~ \.php$ {
  #NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
  include fastcgi.conf;
  fastcgi_intercept_errors on;
  fastcgi_pass php;
 }

 # Load configuration files for the default server block.
 include /etc/nginx/default.d/*.conf;
 }

7.安全设置

世界上大概有20%左右的网站用的是wordpress系统,这也导致wordpress成为了黑客的攻击对象,安全问题不容忽视,无论对于个人还是企业。对于普通使用者有没有简单的方法让我们快速提升安全防护呢?我查看了几款安全插件,有这么一款插件可以帮助我们提升安全攻略,插件名是All In One WP Security & Firewall。这款插件相对普通用户来说显得简单易用。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • 配置解决Nginx服务器中WordPress路径不自动加斜杠问题

    问题是这样的:我习惯在博客地址后面直接加"wp-admin"敲回车进入WordPress后台,但是进去以后发现不管我点任何一个管理子项,一律404(找不到页面),瞬间我就囧了,这是神马状况... 仔细看了一下管理子项的链接,发现他们全是类似"//www.jb51.net/blog/edit.php"这样的,关键就在于他们都少了"/wp-admin/"这条路径,路径都不对了,肯定404呗... 知道问题在哪就简单了,而且答案肯定还是在Nginx的重

  • WordPress中开启多站点支持及Nginx的重写规则配置

    在Wordpress3.0及以上版本可以直接使用多站点,它可以: 1.只安装一个Wordpress程序即可创建多个wordpress站点,可以是子域名也可以是子目录. 2.可以有独立的博客后台,独立的博客地址. 3.管理员可设置开放哪些主题给站点使用. 4.管理员可配置插件给每个站点使用. 5.多个站点之间共用"用户数据库表",也就是表 wp_usermeta 和 wp_users,其他的为独立数据库表. WordPress多站点的配置方法: 1.首先,备份网站的数据库,以防出现意外时

  • 禁用WordPress的自动保存草稿文章修订功能方法详解

    WordPress的版本修订历史(revision).自动保存(autosave)和自动草稿(auto-draft)功能会非常讨厌的增加文章ID的数字,会造成连续的两篇文章,ID数值可能会相差很多,让我们这些希望文章ID连续的人感到非常不舒服 那么我们如何禁用WordPress版本修订历史,禁用WordPress自动保存,禁用WordPress自动草稿功能呢? 下面的方法需要修改源文件所以在打开每一个文件之前,记得一定要先做好备份! 禁用WordPress文章修订历史版本 1.打开 wp-con

  • Nginx环境下WordPress的多站点功能配置详解

    WordPress的多站点功能允许安装一个WordPress程序的情况下,实现多个站点(也就是一套程序,可以绑定多个域名或子域名). 每个站点拥有独立的主题.插件.文章以及页面. 这样可以极大的减少了维护和更新多个WordPress安装程序的麻烦, 并且,每个站点之间又能够相互独立,互不影响. WordPress multisite有两个方式:子目录和子域名,这里我们主要介绍子域名方式. 也就是说,在主域名的基础上,我们会创建一个子域名,例如:http://shop.jb51.com. 同时,我

  • WordPress与Drupal的Nginx配置rewrite重写规则示例

    WordPress wordpress依然是目前是世界上最流行的博客系统,越来越多由wordpress搭建而成的网站在使用nginx服务器软件,这里就来分享一下WordPress的nginx重写规则: server { listen 80; server_name www.jb51.net jb51.net; access_log /data/logs/nginx/www.jb51.net.access.log main; index index.html index.php; root /da

  • Linux Nginx下SSL证书安装方法及WordPress CDN配置

    一.Nginx安装SSL证书 需要两个配置文件 (温馨提示:安装证书前请先备份您需要修改的服务器配置文件) 1_root_bundle.crt: 2_domainname.com.key. 注:这三个证书文件都在文件夹for Nginx.zip中,例:1_root_bundle.crt是根证书链(公钥),2_ domainname.com.key为私钥. (其中:证书公钥.私钥文件一般以您的域名命名:证书后缀名crt和cer的性质是一样的). 二.Nginx证书代码修改 1.打开Nginx安装目

  • 完美实现wordpress禁止文章修订和自动保存的方法

    使用Wordpress这么久一直很讨厌wordpress的文章修订和自动保存功能,也使用过超级开关插件可以禁止wordpress文章修订和自动保存功能,但是自己博客的插件已经够多的了,只好通过修改wordpress主程序来实现禁止文章修订和自动保存功能.但是这种方法有个不好的地方就是,每次wordpress升级,就得再改动一次wordpress源码,实在是很麻烦的.今天无意中撞到了ZWW博客上发现这个非插件免修改源码实现wordpress禁止文章修订和自动保存的方法,分享给大家吧! 使用方法很简

  • 如何用nginx配置wordpress的方法示例

    之前,我曾自己搭建过Wordpress,只不过那时候用的是第三方的虚拟主机,一台机器上可能有几十个网站.那时候的虚拟机还没做到物理层面的隔离,一个网站占用资源可能会导致所有网站宕机. 最近尝试了下在阿里云ecs上搭建了独立的wordpress,记录下搭建的过程. 原先我想尝试使用apache作为wordpress的容器,用nginx作为反向代理直接代理到apache.但是在我使用了apache后,发现了一个问题,直接使用nginx作为反向代理,转到apache后,url伪静态貌似无法访问,好像需

  • nginx配置https的方法示例(免费证书)

    一.我们需要什么证书 之前写过一篇<tomcat https配置方法(免费证书)>的简书(想看的可以去我的主页里面看下,这两篇之间还是有许多相关联的知识的~),里面有提到过常用证书的分类,其中nginx使用的就是PEM格式的证书,我们将其拆分开就是需要两个文件,一个是.key文件,一个是.crt文件. 二.怎样获取免费证书 这里提供两个方法: 第一种:如果你是windows用户,且有.keystore格式的证书 那么你可以使用JKS2PFX转换工具,将你的keystore证书转换为PEM证书,

  • Django+Celery实现动态配置定时任务的方法示例

    哈喽,今天给大家分享一篇Django+Celery实现动态配置定时任务,因为最近也是无意间看到一位大佬关于这块的文章,然后自己觉得不错,也想学习写一下,然后最终实现功能是在前端页面统一管理计划任务,大家可以在admin管理页面设置,也可以在自己写的前端页面删除添加编辑,实时生效,还可以监控这些监控任务是否运行成功失败. 补充:如果大家对celery不熟悉的话,建议先学习celery 一.安装 1.在Linux系统上安装模块 celery (3.1.26.post2) celery-with-re

  • Python脚本读取Consul配置信息的方法示例

    先来说一下背景,为什么要写脚本去读Consul的配置信息呢?Consul是啥呢?consul是google开源的一个使用go语言开发的服务发现.配置管理中心服务.目前公司用的是这个东西去管理项目上的一些配置信息.公司的环境是通过docker镜像的方式去部署的,镜像是通过rancher去进行管理的.这一套东西面临的一个问题是:服务每次更新之后,服务对应的ip地址是动态变化的.每次需要使用swagger去测接口的时候,都要去rancher上去重新找新的ip地址,比较麻烦.正好呢,最近部门在考虑准备做

  • Smarty模板简单配置与使用方法示例

    本文实例讲述了Smarty模板简单配置与使用方法.分享给大家供大家参考,具体如下: 在Smarty目录中建立templates,templates_c,configs,cache目录.以便Smarty进行编译和缓存. 建立smarty_inc.php文件对smarty进行配置如下: <?php include_once("./smarty/Smarty.class.php"); //包含smarty类文件 $smarty = new Smarty(); //建立smarty实例对

  • nginx配置二级域名的示例代码

    为了不让域名fangyuanxiaozhan.com闲置, 作者又买了个国内的虚拟主机(VPS)的ip为 111.230.254.173 , 用wordpress开了个博客网站, 由于vps的空间很大, 我就开了个私有网盘服务, 由于日常开发需要用到git, 但又不想公开代码, 我又开了个私有git服务 我的vps挂了三个服务, 分别是: WordPress搭建的博客服务, 运行于8000端口, 访问方式 http://fangyuanxiaozhan.com:8000 Gogs搭建的git服务

  • 为docker中的nginx配置https的方法步骤

    没有 https 加持的网站会逐渐地被浏览器标记为不安全的,所以为网站添加 https 已经变得刻不容缓.对于商业网站来说,花钱购买 SSL/TLS 证书并不是什么问题.但对于个人用户来说,如果能有免费的 SSL/TLS 证书可用将会是非常幸福的事情!Let's Encrypt 就是一个提供免费 SSL/TLS 证书的网站,由于其证书期限只有三个月,所以需要我们用自动化的方式去更新证书.本文将介绍如何为通过 docker 运行的 nginx 中的站点添加 https 支持,并自动完成证书的更新.

  • nginx配置支持https的示例代码

    1.简介 你还在让你的网站裸奔在网络上吗?在这里我们将搭建 免费版 HTTPS,免费的,免费的,免费的,重要的事情说三遍. 超文本传输协议HTTP协议被用于在Web浏览器和网站服务器之间传递信息,HTTP协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息, 因此,HTTP协议不适合传输一些敏感信息,比如:信用卡号.密码等支付信息, 为了解决HTTP协议的这一缺陷,需要使用另一种协议:安全套接字层超文本传输协议HTTP

  • keepalived+nginx高可用实现方法示例

    1.keepalived介绍 keepalived最初是专为LVS负载均衡软件设计的,用来管理并监控LVS集群系统中各个服务节点的状态,后来又加入了实现高可用的VRRP功能.keepalived除了能够管理LVS软件外,还能支持其他服务的高可用解决方案. keepalived通过VRRP协议实现高可用功能的.VRRP(Virtual Router Redundancy Protocol)虚拟路由冗余协议.VRRP出现的目的就是为了解决静态路由单点故障问题,它能保证当个别节点宕机时,整个网络可以不

  • Intellij IDEA配置Jetty的方法示例

    一.在pom.xml中配置jetty插件: <build> <plugins> <plugin> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-maven-plugin</artifactId> <version>9.1.0.v20131115</version> </plugin> </plugins> <

随机推荐