第1章 安装Nginx

环境:

系统:CentOS6.5

软件:nginx-1.6.3     mysql-5.5.49    php-5.5.32

1.1 Nginx官网

http://nginx.org/

1.2 安装nginx

1.2.1 安装Nginx所需的pcre库

作用:实现伪静态的功能

yum install pcre pcre-devel -y

1.2.2 安装编译依赖包:

yum install gcc gcc-devel -y

yum install openssl openssl-devel -y

1.2.3 下载源码包:

wget -q http://nginx.org/download/nginx-1.6.3.tar.gz

参数:-q 下载不提示。

1.2.4 解压

.tar.gz

cd nginx-

1.2.5 查询yum仓库有没有rpm包

yum list |grep nginx 或yum list *nginx*

1.2.6 添加系统用户:

useradd www -s /sbin/nologin -M

1.2.7 开始编译安装nginx

1.2.7.1  配置编译参数

./configure --user=www --group=www --prefix=/application/nginx-/ --with-http_stub_status_module --with-http_ssl_module

1.2.7.2  检查配置返回值

echo $?    #返回值为0 则正确

1.2.7.3  编译&安装

make

make install

1.2.7.4  配置软链接,方便以后升级版本。开发不用修改程序

/ /application/nginx

1.2.7.5  nginx启动前的检查语法

[root@web01 conf]# /application/nginx/sbin/nginx -t

nginx: the configuration //conf/nginx.conf syntax is ok

nginx: configuration //conf/nginx.conf test is successful

1.2.7.6  启动nginx服务

/application/nginx/sbin/nginx

1.2.7.7  启动服务后查看监听端口

netstat -lntup|

lsof -i :

1.2.7.8  测试结果:

windows下连接输入http://10.0.0.8

linux下可以用 wget 127.0.0.1显示200K就是正常的。

[root@web01 conf]# wget 127.0.0.1

---- ::--  http://127.0.0.1/

Connecting to ... connected.

HTTP request sent, awaiting response...  OK

Length:  [text/html]

Saving to: “index.html”

%[======================================>]            --.-K/s   in 0s     

-- :: ( KB/s) - “index.html” saved [/]

1.2.7.9  查看nginx的版本

[root@web01 ~]# ls /application/

nginx  nginx-

[root@web01 ~]# /application/nginx/sbin/nginx  -V

nginx version: nginx/

built by   (Red Hat -) (GCC)

TLS SNI support enabled

configure arguments: --user=www --group=www --prefix=/application/nginx-/ --with-http_stub_status_module --with-http_ssl_module

1.2.7.10    查看错误日志

cat /application/nginx/logs/error.log

1.2.7.11    配置nginx配置文件

egrep -v "^$|#" nginx.conf.default >nginx.conf

1.2.7.12    配置文件内容说明

[root@web01 conf]# vim nginx.conf

worker_processes  ;

events {

    worker_connections  ;

}

http {

    include       mime.types;

    default_type  application/octet-stream;

    sendfile        on;

    keepalive_timeout  ;

    server {

        listen       ;  #可改的监听端口

        server_name  www.chrishg.net;  #可改为的域名

autoindex on; #允许客户端浏览我的目录

        location / {

            root   html/www;  #对应的目录

            index  index.html index.htm;

        }

}

1.2.7.13    添加虚拟主机

添加虚拟主机在http{ } 模块里增加下面代码:多虚拟主机就添加多组以下内容。

server {

        listen       ;

        server_name  bbs.chrishg.net;

        location / {

            root   html/bbs;

            index  index.html index.htm;

1.2.7.14     单网卡多IP

 server {

        listen       ;

        server_name  bbs.chrishg.net;

        location / {

            root   html/bbs;

            index  index.html index.htm;

1.2.7.15    多域名

server {

        listen       ;

        server_name  bbs.chrishg.net chrishg.net;

        location / {

            root   html/bbs;

            index  index.html index.htm;

1.2.7.16    添加状态监控页面

##status

server {

        listen       ;

        server_name  status.chrishg.net;

        location / {

          stub_status on;

          access_log off;

        }

    }

添加后,打开网页会显示如下:

Active connections:                   #活动的连接

server accepts handled requests       

                                   #

Reading:  Writing:  Waiting:        #  

1.2.7.17    检查配置文件语法

/application/nginx/sbin/nginx  -t

1.2.7.18    启动服务

/application/nginx/sbin/nginx

1.2.7.19    重启服务

/application/nginx/sbin/nginx  -s reload

1.2.7.20    关闭服务

/application/nginx/sbin/nginx  -s stop

1.3 企业中重启nginx后的策略

在企业运维实践场中,每一个配置操作处理完毕后都应该进行快速有效的检查,这是一个合格运维人员的良好习惯。尽量使得在Nginx启动的同时,还会调用脚本通过获取header信息或模拟用户访问指定URL(wget等方式)来自动检查Nginx是否正常,最大限度的保证服务重启后,能迅速确定网站情况,而无须手工敲命令查看。这样如果配置有问题就可以迅速使用上一版本备份配置文件覆盖回来。

[root@localhost conf]# cat check_url.sh
#!/bin/bash
#author:chenfu -- QQ532088799
#--------function split--------
. /etc/rc.d/init.d/functions
function checkURL()
{
checkUrl=$
echo 'check url start ...'
judge=($(curl -I -s --connect-timeout  ${checkUrl}| | tr " " "\n"))
' && "${judge[2]}" == 'OK' ]]
then
action "${checkUrl}" /bin/true
else
action "${checkUrl}" /bin/false
;
judgeagain=($(curl -I -s --connect-timeout  ${checkUrl}| | tr "\r" "\n"))
' && "${judgeagain[2]}" == 'OK' ]]
then
action "${chekcUrl}, retried again" /bin/true
else
action "${chekcUrl}, retried again" /bin/false
fi
fi
;
}
# usage method
checkURL http://www.etiantian.org

Nginx status结果详解

Active connections: 1         #Nginx正处理的活动连接数有1个
server accepts handled requests   #第一个server表示Nginx启动到现在共处理20个连接

                    #第二个accepts表示Nginx启动到现在共成功创建20次握                                                                #手

                   #第三个handled requests表示共处理了23次请求

20 20 23 
Reading: 0 Writing: 1 Waiting: 0    #Reading为Nginx读取到客户端的Header信息数

                   #Writing为Nginx返回给客户端的Header数

#Waiting为Nginx已经处理完正等候下一次请求指令的驻                                                                  #留连接。在开启keepalive的情况下

#这个值等于active-(reading+writing)

Nginx增加错误日志(error_log)配置

日志记录属于核心功能模块(ngx_core_module)的参数,该参数名字是error.log,针对自己来说最好定义在Main全局区块中,当然也可以放置不同的虚拟主机中单独记录。

error_log    file    level[debug|info|notice|warn|error|crit|alert|emerg];

关键字    日志文件  错误日志级别

error_log默认配置:

#default:error_log logs/error.log error;

可以放置的标签段:

#context:main,http,server,location

Nginx访问日志(access_log)

此功能由ngx_http_log_module模块负责

控制日志的参数
参数 说明
log_format 用来定义记录日志的格式(可以定义多种日志格式,取不同的名字即可)
access_log 用来指定日志文件的路径及使用何种日志格式记录日志
Nginx日志变量说明
Nginx日志变量 说明
$remote_addr 记录访问网站的客户端地址

$http_x_forwarded_for

当前端有代理服务器时,设置Web节点记录客户端地址的配置,此参数生效的前提是代理服务器上也进行了相关的x_forwarded_for设置
$remote_user 远程客户端名称
$time_local 记录访问时间与时区
$request 用户的http请求起始行信息
$status http状态码,记录请求返回的状态,例如200,404,301
$body_bytes_sents 服务器发送给客户端的响应body字节数
$http_referer 记录此次请求是从哪个链接访问过来的,可以根据referer进行防盗链设置
$http_user_agent 记录客户端访问信息,例如浏览器手机客户端等

buffer=size            #存放访问日志的缓冲区大小

flush=time             #将缓冲区的日志刷到磁盘的时间

gzip[=level]              #表示压缩级别

[if=condition]           #表示其他条件(一般的场景中这些都无需配置,极端优化                                                              #时才可能会考虑这些参数)

默认的配置:

access_log    logs/access.log     combined;

日志内容配置:

log_format main '$remote_addr - $remote_user [$time_local] "$request"'
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';

Nginx访问日志轮询切割

[root@localhost nginx]# cat /server/script/cut_nginx_log.sh 
#!/bin/bash
Dateformat=`date +%Y%m%d`
Basedir="/application/nginx"
Nginxlogdir="$Basedir/logs"
Logname="access_www"
[ -d $Nginxlogdir ] && cd $Nginxlogdir || exit 1
[ -f ${Logname}.log ] || exit 1
/bin/mv ${Logname}.log ${Dateformat}_${Logname}.log
$Basedir/sbin/nginx -s reload

Nginx常用的日志收集分析工具有rsyslog、awstats、flume、ELK、storm等

1.4 yum安装nginx的方法

wget -q http://mirrors.utc.edu.cn/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm

rpm -ivh epel-release--.narch.rpm

yum install nginx

亿级PV超大型网站集群架构图形化深度揭秘讲解 - CSDN学院 - CSDN.NET

http://edu.csdn.net/course/detail/2278

第2章 mysql二进制包的安装

2.1 安装包下载:

官方地址:http://dev.mysql.com/downloads/mysql/5.5.html#downloads

cd /home/chrishg/tools

wget http://cdn.mysql.com/archives/mysql-5.5/mysql-5.5.49-linux2.6-x86_64.tar.gz

2.2 解压并mv到统一目录 /application/

cd /home/chrishg/tools

-linux2.-x86_64.tar.gz

-linux2.-x86_64 /application/mysql-

 /application/mysql

ls /application/

2.3 创建mysql用户及目录

mkdir /application/

useradd -s /sbin/nologin mysql -M

id mysql

2.4 mysql目录授权

chown -R mysql.mysql /application/mysql/data/

2.5 初始化mysql(如生成内部用户、库 等)

cd /application/mysql/

./scripts/mysql_install_db --basedir=/application/mysql/ --datadir=/application/mysql/data/ --user=mysql

ll data/

2.6 主机名要做解释

在cat /etc/hosts 文件里添加解释:

172.16.1.8      web01

2.7 修改启动文件里的路径并复制到/etc/init.d/目录下并授权

\cp support-files/my-small.cnf /etc/my.cnf

cp support-files/mysql.server  /etc/init.d/mysqld

sed -i 's#/usr/local/#/application/#g' /application/mysql/bin/mysqld_safe /etc/init.d/mysqld

chmod +x /etc/init.d/mysqld

2.8 启动数据库并查看端口

/application/mysql/bin/mysqld_safe --user=mysql &

lsof -i :

netstat -lntup |

2.9 默认登录mysql

 [root@web01 bin]# /application/mysql/bin/mysql

Welcome to the MySQL monitor.  Commands end with ; or \g.

Your MySQL connection 

Server version:  MySQL Community Server (GPL)

Copyright (c) , , Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its

affiliates. Other names may be trademarks of their respective

owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>            #这样代表成功安装了

2.10 设置环境变量

PATH="/application/mysql/bin/:$PATH"

[root@web01 bin]# echo $PATH

/application/mysql/bin/:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

[root@web01 bin]# which mysql

/application/mysql/bin/mysql

编辑vim /etc/profile

添加PATH="/application/mysql/bin/:$PATH" 到最后,实现环境变量永久生效

. /etc/profile    #添加完后重读配置文件。

2.11 实现stop|start|restart|开机自启动

/etc/init.d/mysqld stop

/etc/init.d/mysqld start

/etc/init.d/mysqld restart

chkconfig --add mysqld

chkconfig --list mysql

chkconfig mysql on

2.12 查看错误日志

/application/mysql/data/ 机器名.err   如:

cat /application/mysql/data/web01.err

2.12.1 故障点

2.12.1.1    /tmp目录权限必须为以下权限(1777)

[root@web01 mysql]# ls -ld /tmp

drwxrwxrwt.  root root  Aug  : /tmp

2.13 错误排查

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

上面问题有3种可能原因及其解决方法如下:

1、删除并重新初始化数据库,出现此问题一般都是因为数据库初始货有问题,

2、或者是MySQL数据文件损坏了,也可能是MySQL数据目录权限有问题。

3、检查主机名对应主机IP解析是否正确。

MySQL安装完成后,默认情况下,管理员账号root是无密码的,这个必须设置。

show databases;      #查看当前所有数据库

select user();       #查看当前的登录用户

2.14 数据库的一些操作:

2.14.1 设置密码、登陆、改密码

mysqladmin -uroot password "  #设置密码

mysql -uroot -p123456              #用密码登陆

mysqladmin -uroot -p123456 password    #改密码

2.14.2 清空history

history -c  #清空全部历史记录

history -d   #清除第1024条历史记录

2.14.3 mysql 查询语句

show databases; 查看所有数据库

第3章 安装PHP服务

3.1 PHP(FastCGI方式)服务的安装准备

3.1.1 检查Nginx 及Mysql的安装情况

ls -ld /application/mysql/

ls -ld /application/nginx

3.1.2 检查端口及启动情况

[root@web01 ~]# netstat -lntup |egrep "3306|80"

tcp                               /mysqld       

tcp                                 /nginx

3.1.3 测试Nginx及Mysql是否OK

wget 127.0.0.1

mysql -uroot -p

3.1.4 检查安装PHP所需的lib库

rpm -qa zlib-devel libxm12-devel libjpeg-devel libjpeg-turbo-devel libiconv-devel freetype-devel libping-devel gd-devel libcurl-devel libxslt-devel

3.1.5 安装基础库

yum install -y zlib-devel libxm12-devel libjpeg-devel libjpeg-turbo-devel libiconv-devel freetype-devel libping-devel gd-devel libcurl-devel libxslt-devel

3.1.6 安装yum无法安装的 libiconv库

cd /home/chrishg/tools

wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz

tar -zxvf libiconv-1.14.tar.gz

cd libiconv-1.14

./configure --prefix=/usr/local/libiconv

make

make install

cd ../

3.1.7 安装libmcrypt 库

wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo

yum install libmcrypt-devel -y

3.1.8 安装mhash 和mcrypt加密扩展库

yum install -y mhash mcrypt

3.2 安装PHP服务

3.2.1 下载、解压、配置PHP

cd /home/chrishg/tools

wget http://mirrors.sohu.com/php/php-5.5.32.tar.gz

.tar.gz

cd php-

#配置参数

./configure --prefix=/application/php- --with-mysql=/application/mysql/ --with-pdo-mysql=mysqlnd --with-iconv-dir=/usr/local/libiconv --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --disable-rpath --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --enable-mbregex --enable-fpm --enable-mbstring --with-mcrypt --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc --enable-soap --enable-short-tags --enable-static --with-xsl --with-fpm-user=nginx --with-fpm-group=nginx --enable-ftp --enable-opcache=no

echo $?

3.2.2 编译安装

3.2.2.1  防止编译报错。

方法一: (.3版本有共享库的报错)

 /usr/lib64/

方法二:找出这个文件将路径添加到 /etc/ld.so.conf

find /  -name "libmysqlclient.so.18"

/application/mysql--linux2.-x86_64/lib/libmysqlclient.so.

vim /etc/ld.so.conf

添加内容如下:

/application/mysql/lib/

然后用以下命令保存:

ldconfig

3.2.2.2  防止make报错先创建以下文件

touch ext/phar/phar.phar

如果在PHP编译时使用--with-mysql=mysqlnd替代--with-mysql=/application/mysql则没有上述2点的错误发生。

  指定核心数

make install

3.2.3 配置PHP引擎配置文件php.ini

、设置软链接以方便访问。

/ /application/php

ls /application/php/

、查看PHP配置默认模板文件。

[root@web01 php-]# ls -l php.*

-rw-r--r--      Feb     php.gif

-rw-r--r--     Feb     php.ini-development

-rw-r--r--     Feb     php.ini-production

、拷贝PHP配置文件到PHP默认目录,并更改文件名为php.ini

cp php.ini-production  /application/php/lib/php.ini

ls -l /application/php/lib/php.ini

 配置PHP服务(FastCGI方式)的配置文件php-fpm.conf

cd /application/php/etc/

cp php-fpm.conf.default php-fpm.conf

3.2.5 启动PHP服务(FastCGI方式)

/application/php/sbin/php-fpm

ps -ef |grep php-fpm

lsof -i :

3.2.6 make报错排查

3.2.6.1  make 结束有以下报错

Fatal error: Uncaught exception /ext/phar/phar.php:

Stack trace:

# /home/chrishg/tools/php-/ext/phar/phar.php(): Phar->offsetSet('.phar', '')

# /home/chrishg/tools/php-/ext/phar/phar.php(): PharCommand::phar_add_file(Object(Phar), , '.phar', Object(SplFileInfo), NULL, true)

# /home/chrishg/tools/php-/ext/phar/phar.php(): PharCommand::phar_add(Object(Phar), , '/home/oldboy/to...', NULL, '/\\.svn/', Object(SplFileInfo), NULL, true)

# [internal function]: PharCommand->cli_cmd_run_pack(Array)

# /home/chrishg/tools/php-/ext/phar/phar.php(): call_user_func(Array, Array)

# /home/chrishg/tools/php-/ext/phar/phar.php(): CLICommand->__construct(, Array)

# {main}

  thrown /ext/phar/phar.php on line 

原因是上面1.2.2.2在touch ext/phar/phar.phar 时变成了touch ext/phar/phar/.phar

解决:

cd ext/phar/phar/  #进入目录中

mv .phar /tmp     #删除创建错的文件

touch ext/phar/phar.phar    #重新创建文件

make   #重新make,这次的时间很短

第4章 如何关联LNMP

4.1 第一步配置Nginx与PHP的关联

cd /application/nginx/conf/extra

vim blog.conf

server {

        listen       ;

        server_name  blog.chrishg.net;

        location / {

            root   html/blog;

            index  index.html index.htm;

        }

#添加以下这一段代码

        location ~ .*\.(php|php5)?$ {

            root   html/blog;

            fastcgi_pass  ;

            fastcgi_index index.php;

            include fastcgi.conf;

        }

    }

/application/nginx/sbin/nginx -t

/application/nginx/sbin/nginx -s reload

4.1.1 测试nginx与PHP的配置是否有效(因为安全问题,测试完后要删除)

cd /application/nginx/html/blog/

echo "<?php phpinfo(); ?>" >test_info.php #添加测试内容注意();这里是分号。

[root@web01 blog]# cat test_info.php

<?php phpinfo(); ?>

在网页上打开测试

blog.chrishg.net/test_info.php

4.1.2 第二步:测试PHP与mysql是否连接成功

cd /application/nginx/html/blog/

在这个目录里代添测试文件

vim test_mysql.php

<?php

        $link_id=mysql_connect('localhost','root','oldboy123') or mysql_error();

        if($link_id){

                echo "mysql successful by oldboy !";

        }else{

                echo mysql_error();

        }

?>

4.1.3 在浏览器中打开后

blog.chrishg.net/test_mysql.php

4.1.4 数据库改密码

mysqladmin -uroot -p123456 password 654321

第5章 wordpress博客的搭建

5.1 首先建库

mysql -uroot -p654321    #登陆mysql

show databases;             #显示当前所有库

drop database test;         #删除没用的库

show databases;

create database wordpress;  #创建库

select user();              #查看当前用户

system whoami               #在mysql外查看当前用户是谁

select user,host from mysql.user;      #查询所有用户

+------+-----------+

| user | host      |

+------+-----------+

| root | 127.0.0.1 |

| root | ::       |

|      | localhost |

| root | localhost |

|      | web01     |

| root | web01     |

+------+-----------+

 rows in set (0.00 sec)

********************分隔线*****************************

grant all on wordpress.* to wordpress@';

上行geant为授权 ,第一个wordpress为库名,后面的”*“为所有表,第二个wordpress为用户名,@后的localhost为授权登陆的IP 为本地,identified by (身份)后的‘’为密码

-----------------------------------------

drop user wordpress@'localhost'  #此句为删用户

----------------------------------------------------------------

select user,host from mysql.user;

show grants for wordpress@'localhost';    #查看用户权限

flush privileges;                         #修改后刷新

5.1.1 在nginxs配置文件里添加index.php

cd /application/nginx/conf/extra

vim blog.conf

增加下面黄色部份内容

    server {

        listen       ;

        server_name  blog.chrishg.net;

        location / {

            root   html/blog;

            index  index.php index.html index.htm;

        }

        location ~ .*\.(php|php5)?$ {

            root   html/blog;

            fastcgi_pass  ;

            fastcgi_index index.php;

5.1.2 下载wordpress博客

cd /home/chrishg/tools

wget https://cn.wordpress.org/wordpress-4.5.3-zh_CN.tar.gz

-zh_CN.tar.gz

cp -a wordpress/* /application/nginx/html/blog/

chown -R www.www /application/nginx/html/blog/

5.1.3 hosts解释,浏览安装博客

浏览器输入网址:http://blog.chrishg.net

配置***

mysql -uwordpress -p123456

use wordpress;

show tables;

5.2 伪静态网址

5.2.1 在博客里添加如下:

/archives/%post_id%.html

5.2.2 nginx配置文件中添加如下

server {

        listen       ;

        server_name  blog.chrishg.net;

            root   html/blog;

            index  index.php index.html index.htm;

        location / {

        if (-f $request_filename/index.html){

            rewrite (.*) $/index.html break;

         }

        if (-f $request_filename/index.php){

            rewrite (.*) $/index.php;

         }

        if (!-f $request_filename){

            rewrite (.*) /index.php;

         }

        }

        location ~ .*\.(php|php5)?$ {

            root   html/blog;

            fastcgi_pass  ;

            fastcgi_index index.php;

            include fastcgi.conf;

        }

}

注:以下这行,也可以实现以上多行的功能

 try files $url/  /index.php?q=$uri%args;

第6章 LNMP组件分离

我们这里的IP地址是:172.16.1.51  db01

6.1 数据库mysql的分离

6.1.1 一键安装mysql脚本 (在独立数据库安装好mysql)

#创建用户

useradd -s /sbin/nologin mysql -M

#创建目录、解压、授权

cd /home/chrishg/tools

-linux2.-x86_64.tar.gz

mkdir /application/

-linux2.-x86_64 /application/mysql-

 /application/mysql

chown -R mysql.mysql /application/mysql/data/

#初始化数据库

cd /application/mysql/

./scripts/mysql_install_db --basedir=/application/mysql/ --datadir=/application/mysql/data/ --user=mysql

#复制配置文件

\cp /application/mysql/support-files/my-small.cnf /etc/my.cnf

cp /application/mysql/support-files/mysql.server  /etc/init.d/mysqld

#替换配置路径

sed -i  's#/usr/local/#/application/#g'  /application/mysql/bin/mysqld_safe /etc/init.d/mysqld

#授权配置文件

chmod +x /etc/init.d/mysqld

#配置环境变量

PATH="/application/mysql/bin/:$PATH"

echo 'PATH="/application/mysql/bin/:$PATH"' >>/etc/rc.local

#启动并查端口

/etc/init.d/mysqld start

lsof -i :

netstat -lntup |

6.1.2 在web01主机上备份数据库并发送到172.16.1.51 (db01)的独立数据库机器上

cd /home/chrishg/tools

mysqldump -uroot -poldboy123 wordpress -B |gzip>bak.sql.gz

scp bak.sql.gz root@10.0.0.51:/tmp

6.1.3 在db01机器上创建用户密码、解压备份的数据并还原到数据库

mysqladmin -uroot password 123456

cd /tmp

gzip -d bak.sql.gz

mysql -uroot -123456 </tmp/bak.sql   #还原

mysql -uroot -123456 -e "show datablwes like 'wordpress';"     #还原后查看

mysql -uroot -123456   #登录数据库

grant all on wordpress.* to wordpress@';

flush privileges;

#创建wordpress数据管理员并刷新

select user,host from mysql.user;   #查看用户表

6.1.4 更改web01配置文件

cd /application/nginx/html/blog/

vim wp-config.php

修改第32行

sed -i 's#DB_HOST', 'localhost#DB_HOST', '172.16.1.51#g' wp-config.php

6.1.5 数据库里查看表

use wordpress;

show tables;

select * from old_posts\G;  #文字型式查看表

6.2 从web01上共亨目录挂载到nfs

机器IP:172.16.1.31  nfs01

6.2.1 创建跟web01上nginx使用一样的系统用户www

useradd -u   www

id www

6.2.2 修改nfs01的配置文件

vim /etc/exports

#share /data by chrishg 

/data (rw,,anongid=)  ##指定UID

6.2.3 检查看装包

 [root@web01 html]# rpm -qa rpcbind nfs-utils

rpcbind--.el6.x86_64

nfs-utils--.el6_8..x86_64

6.2.4 检查挂载

[root@web01 html]# showmount -e 172.16.1.31

Export list for 172.16.1.31:

/backup 

/data   

[root@web01 html]# /etc/init.d/rpcbind status

rpcbind (pid  ) is running...

6.2.5 备份共亨目录里的文件再挂载

cd /application/nginx/html/blog/wp-content/uploads

 /tmp

mount -t nfs 172.16.1.31:/data/nfs-blog /application/nginx/html/blog/wp-content/uploads/

echo " mount -t nfs 172.16.1.31:/data/nfs-blog /application/nginx/html/blog/wp-content/uploads/" >> /etc/rc.local

/ /application/nginx/html/blog/wp-content/uploads

6.2.6 现在可以去测试网页了。

LNMP web服务的安装的更多相关文章

  1. 尝试利用CentOS环境安装LiteSpeed WEB服务环境的过程

    对于普通的网站搭建的环境虚拟主机就足够使用,不过近期公司的网站需要上线VPS主机,于是采用到LNMP(http://lnmp.org/)一键包安装的,运行还是比较好的,这不最近我也开始尝试接触VPS方 ...

  2. 高性能Web服务之lnmp架构应用

    传统上基于进程或线程模型架构的web服务通过每进程或每线程处理并发连接请求,这势必会在网络和I/O操作时产生阻塞,其另一个必然结果则是对内存或CPU的利用率低下.生成一个新的进程/线程需要事先备好其运 ...

  3. CentOS 7上源码编译安装和配置LNMP Web+phpMyAdmin服务器环境

    CentOS 7上源码编译安装和配置LNMP Web+phpMyAdmin服务器环境 什么是LNMP? LNMP(别名LEMP)是指由Linux, Nginx, MySQL/MariaDB, PHP/ ...

  4. Dynamics AX 2012 R2 安装 AIF IIS上的Web服务

    1.为什么使用IIS上的WEB服务 组件? 如果你要在Dynamics AX Service中使用HTTP Adapter,那么你就要安装IIS上的WEB服务 组件.HTTP Adapter会在IIS ...

  5. Windows下安装Django及WEB服务启动

           如果使用的是 Linux 或 Mac OS X ,系统可能已经预装了 Python .在命令提示符下 (或 OS X 的终端中) 输入python ,如果出现python编辑环境,说明 ...

  6. 在chrome中安装基于REST的web服务客户端

    基于REST的Web服务客户端的使用方法 点击转到基于REST的Web服务客户端下载页面 chrome浏览器如果安装扩展程序点击chrome浏览器右上角,选择“设置在“设置”对话框里选择“扩展程序”然 ...

  7. web服务的简单介绍及apache服务的安装

    一,web服务的作用:  是指驻留于因特网上某种类型计算机的程序,可以向浏览器等Web客户端提供文档.可以放置网站文件,让全世界浏览:   可以放置数据让全世界下载.目前最主流的三个Web服务器是Ap ...

  8. 框架5--nginx安装部署 下(web服务)

    目录 1.提纲 2.Nginx虚拟主机 3.Nginx日志 4.Nginx访问控制模块 5.Nginx状态监控模块 6.访问连接控制模块 框架5--nginx安装部署 下(web服务) 1.提纲 1. ...

  9. 框架5--nginx安装部署 上(web服务)

    目录 框架5--nginx安装部署(web服务) 1.练习 2.昨日问题 3.今日内容 4.什么是web服务 5.web服务器软件 6.部署Nginx 7.平滑增加Nginx模块 8.Nginx的命令 ...

随机推荐

  1. postman具体讲解

    postman 简单教程-实现简单的接口测试 最近开始做接口测试了,因为公司电脑刚好有postman,于是就用postman来做接口测试,哈哈哈哈,...postman 功能蛮强大的,还比较好用,下面 ...

  2. org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/JJ]]

    1. 如果webapps下有同名的文件,会出现以上错误: 2.解决办法: 查看项目的目录结构是否正确,对于servlet项目,WEB-INF下应该有一个classes目录,存放编译好的.class文件 ...

  3. ActiveMQ5.8.0安装及启动

    一.下载 官网地址:http://activemq.apache.org/download.html Windows版本:apache-activemq-5.8.0-bin.zip Linux版本:a ...

  4. Linux Kernel 4.11首个候选版本开放下载

    Linus Torvalds宣布了即将到来的Linux Kernel 4.11内核分支的首个候选(RC)版本,用户可下载.编译并在自己的GNU/Linux发行版本中进行测试.Linus Torvald ...

  5. select server

    server with select #include<stdio.h> #include<sys/types.h> #include<sys/socket.h> ...

  6. APP中的 H5和原生页面如何分辨?

    一.APP内嵌H5和原生的区别 1.原生的页面运行速度快,比较流畅.H5页面相对原生的运行性能低,特别是一些动画效果有明显卡顿. 2.H5页面的很多交互都没有原生的好,比如弹层.输入时候的页面滑动 等 ...

  7. React学习笔记(六)事件处理

    React学习笔记(六) 五.事件处理 React事件绑定属性的命名采用驼峰写法,不同于传统DOM全部小写. 如果采用JSX的语法,事件函数需要用大括号{}包裹函数名,不同于传统DOM字符串小括号的方 ...

  8. scala当中的Actor并发编程

    注:Scala Actor是scala 2.10.x版本及以前版本的Actor. Scala在2.11.x版本中将Akka加入其中,作为其默认的Actor,老版本的Actor已经废弃. 1.什么是Sc ...

  9. 内网渗透之IPC,远程执行

    开启服务 net start Schedule net start wmiApSrv 关闭防火墙 net stop sharedaccess net use \\目标IP\ipc$ "&qu ...

  10. 008单例、继承、final

    内容:单例,类继承,final #################################################################################### ...