烂泥:使用nginx利用虚拟主机搭建WordPress博客
最近开始打算学习nginx web服务器,既然是学习还是以实用为目的的。我们在此以搭建WordPress博客为例。
搭建WordPress博客,我们需要Mysql数据库、PHP环境和Nginx Web服务器。主要分为以下四个步骤:
1、Mysql数据库安装及配置
2、PHP、PHP-FPM及与PHP相关组件的安装及配置
3、Nginx Web服务器搭建与配置
4、wordpress安装
注意:本次实验,除了nginx使用源码安装外,其他的软件全部使用rpm包yum方式进行安装。
一、 Mysql数据库安装及配置
1.1 mysql数据库安装
mysql数据库,我们使用yum方式进行安装。如下:
yum -y install mysql mysql-server


1.2 修改mysql数据库root用户密码及配置远程访问权限
mysql数据库安装完毕后,我们来启动mysql数据库,并修改mysql数据库的相关设置,同时还要为wordpress创建ailanni数据库。如下:
/etc/init.d/mysqld start

修改mysql数据库root用户的密码,mysql数据库安装后root用户默认密码为空。使用如下命令:
mysql -u root –p或者mysql -uroot –p
use mysql;
update user set password=password('123456') where user='root';
flush privileges;
/etc/init.d/mysqld restart


默认情况下,mysql数据库只允许本机访问mysql数据库。但是为了对mysql数据库管理的方便,我们需要开启mysql数据库远程访问的权限。使用如下命令:
mysql -u root –p或者mysql -uroot –p
use mysql;
update user set host='%' where user='root';
flush privileges;
/etc/init.d/mysqld restart


以上配置完毕后,你会发现mysql连接非常慢。我们只需要修改mysql数据库的配置文件即可。
打开/etc/my.cnf文件,在mysqld中,加入skip-name-resolve,然后重启mysql数据库,即可。如下:
vi /etc/my.cnf
/etc/init.d/mysqld restart

1.3 创建wordpress所需数据库
以上操作完毕后,我们再连接mysql数据库,在此我们使用的是Navicat Premium数据库客户端。
通过Navicat Premium创建Wordpress博客所需要的数据库,有关使用Navicat Premium创建mysql数据库,可以参考《烂泥:Navicat Premium使用mysql数据库》,数据库创建完毕后如下:

当然我们也可以使用,phpmyadmin创建wordpress说需要的数据库。
有关在nginx上安装与使用phpmyadmin,我会在下一篇文章中介绍。
二、PHP、PHP-FPM及与PHP相关组件的安装及配置
mysql数据库安装完毕后,我们现在来配置php环境。
2.1 安装PHP及其相关组件
首先安装php及相关的组件,使用如下命令:
yum -y install php*


在php的相关组件中,我们一定要注意php-mysql与php-fpm这两个组件。其中php-mysql之php连接mysql使用,否则在安装WordPress时,会提示:您的PHP似乎没有安装运行WordPress所必需的MySQL扩展。这个安装完毕后,要重启mysql数据库,否则wordpress无法连接mysql数据库。
而php-fpm是php配合naginx使用的,nginx本身不支持php,通过php-fpm配合nginx才解析php语言。
这两个组件其实是可以单独分开进行安装的,如下:
yum –y install php-mysql
yum –y install php-fpm
以上安装完毕后,我们来查看php的版本。如下:
php -v

2.2 配置php-fpm
php相关组件安装完毕后,我们就要来配置php-fpm。
查看php-fpm的相关安装文档,如下:
rpm -ql php-fpm

通过上图,我们可以看到php-fpm的相关配置文件。主要配置文件为/etc/php-fpm.conf,现在查看该配置文件,如下:
more /etc/php-fpm.conf

你会发现该配置文件根本就没有定义啊,php-fpm所需要监听的端口以及监听的地址。
难道说我们说分析的不对?
呵呵,其实我们分析的一点都没有错。注意上图中,我们标记出来的部分。
include=/etc/php-fpm.d/*.conf
这条语句很重要,它包含了真的php-fpm说配置的关键部分。该关键配置文件就是在php-fpm安装图中标记出来的www.conf文件。
/etc/php-fpm.d/www.conf
现在我们来查看该文件,如下:
more /etc/php-fpm.d/www.conf

这张图,标记出来的部分,显示的是php-fpm要监听的地址和端口。

这张图,显示的是运行php-fpm进程时,所使用的用户及用户组。在此,我们使用默认用户及用户组apache。
说白了,只要我们安装好php-fpm不进行任何配置,使用默认的配置即可。
当然如果你想进一步优化php-fpm配置的话,可以通过php-fpm安装时说给出的配置模版来配置,该配置模版位于:
more /usr/share/doc/php-fpm-5.3.3/php-fpm.conf.default

以上配置完毕后,我们来启动php-fpm,并查看是否正常监听端口以及地址。如下:
/etc/init.d/php-fpm start
chkconfig php-fpm on
netstat -tunlp |grep 9000
ps aux |grep php-fpm

通过上图,我们可以看到目前php-fpm已经正常运行,监听的地址及端口为:127.0.0.1:9000,并且php-fpm是以apache用户运行的。而主进程是以root用户在运行。
通过php-fpm的启动方式,我们可以看到php-fpm是以服务的方式在运行。那么我们也可以通过服务器的方式,重启和关闭php-fpm。如下:
/etc/init.d/php-fpm restart
/etc/init.d/php-fpm stop

三、Nginx Web服务器搭建与配置
3.1 安装Nginx
把下载好的nginx上传到服务器上,使用如下命令:
scp tengine-2.0.3.tar.gz root@192.168.1.102:/tmp
ifconfig eth0|grep "inet addr"|awk '{print $2}'|cut -d: -f2

解压nginx,并进行编译、安装如下:
tar -xf /tmp/tengine-2.0.3.tar.gz -C ./
./configure

make && make install

3.2 启动nginx
nginx安装完毕后,我们来开始启动nginx。nginx可以通过两种方式进行启动。
一种是如下:
/usr/local/nginx/sbin/nginx
另外一种如下:
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
其实第一种方式,默认情况下是要加载/usr/local/nginx/conf/nginx.conf配置文件的。


通过上图,我们可以很明显的看到。nginx已经正常启动,并且也可以正常访问。
现在我们看看nginx运行的用户,如下:
ps -aux|grep nginx

通过上图,我们可以看到目前nginx运行在nobody用户下。
3.3 配置Nginx支持php
nginx安装完毕后,我们就需要来配置nginx使其支持php,并且我们也要配置nginx,让wordpress以虚拟主机的形式进行安装。
我们先来配置有关php的选项。
在nginx的配置文件把有关fastcgi有关的注释项,全部去掉。如下:
vi /usr/local/nginx/conf/nginx.conf
location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}

上述配置完毕后,我们来给nginx配置主页。就是添加index.php文件,如下:
location / {
root html;
index index.php index.html index.htm;
}

现在我们来测试下,nginx有关php的配置是否正确。编辑index.php文件,加入<?php phpinfo();?>,如下:
vi ./html/index.php

现在来测试下nginx配置是否正确,然后优雅的重启nginx,使用如下命令:
/usr/local/nginx/sbin/nginx –t
/usr/local/nginx/sbin/nginx -s reload


通过上图,我们可以看到目前nginx已经可以正常的支持php。
3.4 配置Nginx支持虚拟主机
nginx有关php的配置完毕后,我们现在来配置nginx虚拟主机。
其实nginx的配置很简单,整个配置文件。只有一个http标签,而虚拟主机的配置就是一个一个server标签。
但是server标签必须在包含在http标签中,这样说的目的是server标签既可以在http所在的配置文件,也可以以单独的文件存在,但是需要在http标签中使用include进行包含。
下面是我配置的一个虚拟主机a.ilanni.com,如下:
vi /usr/local/nginx/conf/nginx.conf
server {
listen 80;
server_name a.ilanni.com;
root /ilanni/a.ilanni.com/;
index index.php;
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}

注意,我现在是把a.ilanni.com这个虚拟主机的根目录存放在/ilanni/a.ilanni.com/这个目录下,并且该目录的用户及用户组为root,如下:

为了和前面nginx的默认主页进行区别,我现在把虚拟主机a.ilanni.com的主页,使用的是一个php探针。

以上虚拟主机配置完毕后,我们来重启下nginx,如下:
/usr/local/nginx/sbin/nginx –t
/usr/local/nginx/sbin/nginx -s reload

通过上图,我们可以很明显的看到。目前虚拟主机a.ilanni.com,已经可以正常访问,可以显示的确实我提到的php探针。
四、wordpress安装
以上我们把wordpress安装是,所需要的mysql数据库、nginx web服务器都已经搭建完毕。
现在我们把wordpress安装包,上传到服务器上进行解压,如下:
scp wordpress-4.0-zh_CN.tar.gz root@192.168.1.213:/ilanni
tar -xf wordpress-4.0-zh_CN.tar.gz

把解压后的文件复制到虚拟主机a.ilanni.com根目录下,如下:
cp -rv ./wordpress a.ilanni.com/

开始安装wordpress,在浏览器中访问a.ilanni.com,如下:

填写mysql数据库的相关信息。如下:

复制该信息到文件wp-config.php中,如果该文件不存在,则在a.ilanni.com根目录下,创建wp-config.php文件,如下:

vi wp-config.php

设置博客的相关悉尼型,如下:

提示已经安装成功,如下:

访问虚拟机a.ilanni.com主页,如下:

到此有关在nginx下安装wordpress博客,已经完成。
烂泥:使用nginx利用虚拟主机搭建WordPress博客的更多相关文章
- 利用XAMPP本地搭建WordPress博客
现在越来越多的人利用WordPress搭建了自己的博客网站,我也是一样,但是还有一些人不知道怎么搭建WordPress网站的方法,因为怕弄 不好,所以也就没有花钱去做,所以这里我就讲讲怎么样利用XAM ...
- 搭建WordPress博客程序库
搭建WordPress博客程序库 wordpress简介 wordpress是一套利用PHP语言和Mysql数据库开发的开源免费的Blog(博客,网站)程序,用户可以在支持PHP环境和Mysql数据库 ...
- 搭建 WordPress 博客教程
搭建 WordPress 博客教程(超详细) 在 2018年7月29日 上张贴 由 suncent一条评论 本文转自:静候那一米阳光 链接:https://www.jianshu.com/p/5675 ...
- LNMP环境搭建Wordpress博客
目录 LNMP架构工作原理 yum源安装 网站源包安装 LNMP是Linux Nginx MySQL/MariaDB Php/perl/python 的简称,是近些年才逐渐发展起来的构架,发展非常迅 ...
- Centos 7使用docker部署LAMP搭建wordpress博客系统
0.简要概述 LAMP是目前比较流行的web框架,即Linux+Apache+Mysql+PHP的网站架构方案.docker是目前非常流行的虚拟化应用容器,可以为任何应用创建一个轻量级.可移植的容器. ...
- 免费搭建wordpress博客有感
之前一直有搭建个wordpress博客的想法,但一直没有实施.最近离职之后,空闲时间多了起来,就开始折腾wordpress博客起来. wordpress博客可玩性很高,但刚开始只想练练手,就没有想买域 ...
- Docker搭建wordpress博客环境(Centos7)
Docker搭建wordpress博客环境(Centos7) 升级系统 yum -y update 设置docker库 sudo yum install -y yum-utils sudo yum-c ...
- AWS之EC2搭建WordPress博客
AWS之搭建WordPress博客 注意:请确定您已经成功完成LAMP架构的搭建; 1.下载并解压WordPress安装包: ①使用wget命令在WordPress官网获取最新安装包: [ec2-us ...
- 小白用linode VPS搭建wordpress博客过程备忘 | Linode中文教程
第一步:装debian系统 1.访问linode官方网站,查看http://library.linode.com/getting-started,我用的是debian系统,用putty登录,升级deb ...
随机推荐
- DevExpress Ribbongallerybaritem选择性皮肤重组
void InitSkinGallery() () { SkinHelper skinHelper = new SkinHelper(); RibbonControl masterRibbonCont ...
- Android活动启动模式
在android中,android活动是以栈的方式进行存储,在栈中的活动不断被重新激活至前台和不断被终止也不断被排序.因此对于栈中的活动管理也是一个比较麻烦的事情. android给我们提供了两类活动 ...
- linux实用的日志分析脚本
日志分析 随意的tail一个access_log文件,下面是一条经典的访问记录 218.19.140.242 – - [10/Dec/2010:09:31:17 +0800] “GET /query/ ...
- Tsql查询执行顺序(二)
来源:http://www.cnblogs.com/gaiyang/archive/2011/04/13/2014356.html T-SQL查询处理这种逻辑处理顺序,是理论上的处理过程,实际情况还会 ...
- ajax的再次封装!(改进版) —— new与不 new 有啥区别?
生命不息重构不止! 上一篇写了一下我对ajax的再次封装的方法,收到了很多有价值的回复,比如有童鞋建议用$.extend,一开始还以为要做成插件呢,后来才知道,原来这个东东还可以实现合并.省着自己再去 ...
- css知多少(4)——解读浏览器默认样式
上一节<css知多少(3)——样式来源与层叠规则>介绍了样式的五种来源,咱们再通过一张图回顾一下. 对于上面的三层,咱们大概都比较熟悉了.下面的两层中,用户自定义样式一般也就是改一改字号大 ...
- AngularJS1.3一些技巧
前言 框架选择.在上一篇文章评论中,有人说angular1.3是个过时的东西,建议使用angular2.其实这种说法很像拿jQuery1.x和jQuery2.x做比较,新的版本当然会有优化优势的地方, ...
- delphi 事件和属性的绑定
TWindowState = (wsNormal, wsMinimized, wsMaximized); TScrollingWinControl = class(TWinControl) priva ...
- sharepoint2010升级到sharepoint2013的升级步骤和过程
- 为Autodesk Viewer添加自定义工具条的更好方法
上一篇文章中我介绍了使用Autodesk Viewer的UI API来给viewer添加自定义工具条的方法,看起来很简单是吧.不过有个问题,就是关于自定义工具条的信息(包括按钮的文本.图标.样式.ca ...