实例整体框架:

烂泥:使用nginx利用虚拟主机搭建WordPress博客,nginxwordpress

本文由秀依林枫提供友情赞助,先发于烂泥行天下。

多年来开头打算攻读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

1.2 修改mysql数据库root用户密码及布局远程访问权限

mysql数据库安装完成后,大家来启动mysql数据库,并修改mysql数据库的相干设置,同时还要为wordpress创设ailanni数据库。如下:

/etc/init.d/mysqld start

澳门金沙国际 3

修改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

澳门金沙国际 4

澳门金沙国际 5

默许情形下,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

澳门金沙国际 6

澳门金沙国际 7

nginx负载均衡实例,项目实战1。如上配置完结后,你会意识mysql连接格外慢。我们只需求修改mysql数据库的配备文件即可。

开辟/etc/my.cnf文件,在mysqld中,参与skip-name-resolve,然后重启mysql数据库,即可。如下:

vi /etc/my.cnf

/etc/init.d/mysqld restart

澳门金沙国际 8

1.3 创办wordpress所需数据库

以上操作甘休后,大家再连接mysql数据库,在此大家利用的是Navicat
Premium数据库客户端。

由此Navicat Premium成立Wordpress博客所必要的数据库,有关使用Navicat
Premium成立mysql数据库,可以参照《烂泥:Navicat
Premium使用mysql数据库》,数据库创造完结后如下:

澳门金沙国际 9

自然大家也足以应用,phpmyadmin创制wordpress说要求的数据库。

关于在nginx上设置与应用phpmyadmin,我会在下一篇小说中介绍。

二、PHP、PHP-FPM及与PHP相关组件的装置及配置

mysql数据库安装完结后,我们现在来部署php环境。

2.1 安装PHP及其有关组件

首先安装php及相关的零件,使用如下命令:

yum -y install php*

澳门金沙国际 10

澳门金沙国际 11

在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

澳门金沙国际 12

2.2 配置php-fpm

php相关组件安装已毕后,大家即将来布局php-fpm。

翻开php-fpm的连带设置文档,如下:

rpm -ql php-fpm

澳门金沙国际 13

经过上图,咱们可以看出php-fpm的相干配置文件。首要安顿文件为/etc/php-fpm.conf,现在翻开该配置文件,如下:

more /etc/php-fpm.conf

澳门金沙国际 14

您会意识该配置文件根本就没有定义啊,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

澳门金沙国际 15

那张图,标记出来的一部分,呈现的是php-fpm要监听的地址和端口。

澳门金沙国际 16

那张图,突显的是运行php-fpm进度时,所运用的用户及用户组。在此,我们采取默许用户及用户组apache。

简易,只要大家设置好php-fpm不开展其余配置,使用默认的安插即可。

理所当然倘使您想进一步优化php-fpm配置来说,可以通过php-fpm安装时说给出的布局模版来布局,该配置模版位于:

more /usr/share/doc/php-fpm-5.3.3/php-fpm.conf.default

澳门金沙国际 17

如上配置落成后,大家来启动php-fpm,并查阅是不是正常监听端口以及地点。如下:

/etc/init.d/php-fpm start

chkconfig php-fpm on

netstat -tunlp |grep 9000

ps aux |grep php-fpm

澳门金沙国际 18

透过上图,我们得以见见眼前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

澳门金沙国际 19

三、Nginx Web服务器搭建与配置

3.1 安装Nginx

把下载好的nginx上传来服务器上,使用如下命令:

scp tengine-2.0.3.tar.gz
[email protected]:/tmp

ifconfig eth0|grep “inet addr”|awk ‘{print $2}’|cut -d: -f2

澳门金沙国际 20

解压nginx,并拓展编译、安装如下:

tar -xf /tmp/tengine-2.0.3.tar.gz -C ./

./configure

澳门金沙国际 21

make && make install

澳门金沙国际 22

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配置文件的。

澳门金沙国际 23

澳门金沙国际 24

由此上图,我们得以很明显的观看。nginx已经正常启动,并且也得以健康访问。

现今大家看看nginx运行的用户,如下:

ps -aux|grep nginx

澳门金沙国际 25

透过上图,大家得以见到眼前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;

}

澳门金沙国际 26

上述配置达成后,大家来给nginx配置主页。就是添加index.php文件,如下:

location / {

root html;

index index.php index.html index.htm;

}

澳门金沙国际 27

当今我们来测试下,nginx有关php的安排是不是正确。编辑index.php文件,出席<?php
phpinfo();?>,如下:

vi ./html/index.php

澳门金沙国际 28

今昔来测试下nginx配置是或不是科学,然后优雅的重启nginx,使用如下命令:

/usr/local/nginx/sbin/nginx –t

/usr/local/nginx/sbin/nginx -s reload

澳门金沙国际 29

澳门金沙国际 30

因此上图,我们可以见见眼前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;

}

}

澳门金沙国际 31

只顾,我现在是把a.ilanni.com那一个虚拟主机的根目录存放在/ilanni/a.ilanni.com/那么些目录下,并且该目录的用户及用户组为root,如下:

澳门金沙国际 32

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

澳门金沙国际 33

以上虚拟主机配置完结后,我们来重启下nginx,如下:

/usr/local/nginx/sbin/nginx –t

/usr/local/nginx/sbin/nginx -s reload

澳门金沙国际 34

透过上图,大家得以很醒目标收看。近日虚拟主机a.ilanni.com,已经可以正常访问,可以显得的着实我关系的php探针。

四、wordpress安装

上述大家把wordpress安装是,所需求的mysql数据库、nginx
web服务器都早就搭建落成。

现今大家把wordpress安装包,上传到服务器上举办解压,如下:

scp wordpress-4.0-zh_CN.tar.gz
[email protected]:/ilanni

tar -xf wordpress-4.0-zh_CN.tar.gz

澳门金沙国际 35

把解压后的文书复制到虚拟主机a.ilanni.com根目录下,如下:

cp -rv ./wordpress a.ilanni.com/

澳门金沙国际 36

始于设置wordpress,在浏览器中走访a.ilanni.com,如下:

澳门金沙国际 37

填写mysql数据库的连带音讯。如下:

澳门金沙国际 38

复制该音信到文件wp-config.php中,要是该公文不设有,则在a.ilanni.com根目录下,创制wp-config.php文件,如下:

澳门金沙国际 39

vi wp-config.php

澳门金沙国际 40

安装博客的有关孟买型,如下:

澳门金沙国际 41

提示已经设置成功,如下:

澳门金沙国际 42

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

澳门金沙国际 43

到此有关在nginx下安装wordpress博客,已经做到。

本文由秀依林枫提供友情赞助,先发于烂泥行天下。

花色实战1—LNMP的搭建、nginx反向代理和缓存等的落到实处,lnmpnginx

 

澳门金沙国际 44

澳门金沙国际 45

用wordpress在二级目录下建博客,主机是nginx的虚拟主机怎举行伪静态设置?空间商说必须用独立主机

可以放在二级目录下,把wordpress上传到二级目录,访问安装即可。
 

不久前始于打算攻读nginx
web服务器,既然是上学或者以实用为目标的。大家在此以搭建WordPress博客为例。

实战一:搭建lnmp及类索尼爱立信等商业网站的完成

环境:关闭防火墙,selinux

 

 

怎在虚拟主机上搭建一个网站

搭建一个wordpress网站,须要空间支撑php程序,有赠送mysql数据库才行,一个100-200M的长空,数据库大约50M就大概了。有个
E世纪主机
里标的一个基础性空间和那么些布局大约,一百多块钱一年,免费的私房认为多少稳定、也没怎么技术协理,必要接济的时候不佳找人,仍旧花点钱,也不多,找人的时候便于。你购买好了,你可以联系网站上的技术辅助帮您安装一个,你也可以团结下载一个wordpress
上去,然后访问你的域名按照提示操作即可。
 

本文由秀依林枫提供友情赞助,头阵于烂泥行天下。 方今始发打算攻读nginx
web服…

搭建WordPress博客,大家需求Mysql数据库、PHP环境和Nginx
Web服务器。主要分为以下三个步骤:

1、安装包,开启服务

yum -y install nginx mariadb-server php-fpm php-mysql

systemctl start nginx

systemctl start mariadb

systemctl start php-fpm

 

 使用VMware搭建 5台Centos7虚拟机(包蕴客户端),系统版本:CentOS Linux
release
7.2.1511。实例所设置的nginx版本:1.12.2,mariadb-server版本:5.5.56,php-fpm版本:5.4.16,PHPMyAdmin版本:4.0.10.20。此实例所有虚拟机均已关闭防火墙并安装selinux为Permissive(systemctl
stop firewalld.service,setenforce 0)。

1、Mysql数据库安装及配置

2、修改nginx的配备文件

(1)cp /etc/nginx/nginx.conf.default /etc/nginx/nginx.conf
有个模板例子覆盖了布置文件

vim /etc/nginx/nginx.conf 修改上边几类

① user nobody; 使用用户
error_log /var/log/nginx/error.log info; 错误日志

② events {
① user nobody; 使用用户
  error_log /var/log/nginx/error.log info; 错误日志

② events {
  worker_connections 65535;
}

③ tcp_nopush on; tcp优化
tcp_nodelay on;
gzip on;

④ server {
listen 80;
server_name xiaomi.along.com; 依据自己顺便写
root /data/web; 主站点的目录根
  location / {
    index index.php index.html index.htm;
  }

⑤ location ~ \.php$ {
开启.php,配置文件有例子,只需去掉注释,修改一行即可
  fastcgi_pass 127.0.0.1:9000;
  fastcgi_index index.php;
  fastcgi_param SCRIPT_FILENAME
$document_root$fastcgi_script_name;
  include fastcgi_params;
}

 

 

(2)修改完,可以nginx -t 查看

systemctl restart nginx 重启服务,发现有warn

 

(3)ulimit -n
查看linux系统里打开文件讲述符的最大值,一般缺省值是1024,对一台繁忙的服务器来说,这么些值偏小,所以有必不可少重新安装linux系统里打开文件讲述符的最大值

ulimit -n 65535 修改内核参数

 

搭建web server:

1、安装php-fpm和mariadb-server并创办web资源存放目录:

[root@webserver Desktop]# yum install -y php php-fpm php-mbstring mariadb-server php-mysql
[root@webserver Desktop]# mkdir /data/html

2、配置php-fpm:

#配置php-fpm
[root@webserver Desktop]# vim /etc/php-fpm.d/www.conf
    listen = 0.0.0.0:9000
    listen.allowed_clients = 10.10.0.11,10.10.0.12
    pm.status_path = /status
    ping.path = /ping
    ping.response = pong
    php_value[session.save_handler] = files
    php_value[session.save_path] = /var/lib/php/session
#设置会话session文件属主属组
[root@webserver Desktop]# chown apache:apache /var/lib/php/session
[root@webserver Desktop]# ll -d /var/lib/php/session
    drwxrwx---. 2 apache apache 4096 Aug 20 15:50 /var/lib/php/session/
[root@webserver Desktop]# systemctl start php-fpm.service
[root@webserver Desktop]# ss -tan
State      Recv-Q Send-Q Local Address:Port               Peer Address:Port              
LISTEN     0      128          *:9000                     *:*                  
LISTEN     0      5      192.168.122.1:53                       *:*                  
LISTEN     0      128          *:22                       *:*                  
LISTEN     0      128    127.0.0.1:631                      *:*                  
LISTEN     0      100    127.0.0.1:25                       *:*                  
LISTEN     0      128         :::22                      :::*                  
LISTEN     0      128        ::1:631                     :::*                  
LISTEN     0      100        ::1:25                      :::*

3、创造index.php页面并并下载PHPMyAdmin和WordPress:

[root@webserver Desktop]# cd /data/html
[root@webserver html]# vim index.php
    <h1> 10.10.0.13 server</h1>
    <?php
        phpinfo();
    ?>
[root@webserver html]# wget https://cn.wordpress.org/wordpress-4.9.4-zh_CN.tar.gz
[root@webserver html]# wget https://files.phpmyadmin.net/phpMyAdmin/4.0.10.20/phpMyAdmin-4.0.10.20-all-languages.tar.gz
[root@webserver html]# tar xf wordpress-4.9.4-zh_CN.tar.gz
[root@webserver html]# tar xf phpMyAdmin-4.0.10.20-all-languages.tar.gz
[root@webserver html]# ln -sv phpMyAdmin-4.0.10.20-all-languages phpmyadmin
#配置wordpress所用数据库
[root@webserver html]# cp /data/html/wordpress/wp-config-sample.php /data/html/wordpress/wp-config.php
[root@webserver html]# vim /data/html/wordpress/wp-config.php
    define('DB_NAME', 'wordpress');
    define('DB_USER', 'wpuser');
    define('DB_PASSWORD', '12345678');
    define('DB_HOST', 'localhost');
    define('DB_CHARSET', 'utf8');

4、配置mariadb:

[root@webserver html]# vim /etc/my.cnf
    [mysqld]
    skip_name_resolve=ON
    innodb_file_per_table=ON
root@webserver html]# systemctl start mariadb.service
#设置mariadb的安全权限
root@webserver html]# mysql_secure_installation
...
#创建wordpress数据库并授权wpuser操作权限,跟wordpress配置文件保持一致
root@webserver html]# mysql -uroot -p
Enter password: 
MariaDB [(none)]> create database wordpress;
MariaDB [(none)]> grant all on wordpress to 'wpuser'@'%' identified by '12345678';
MariaDB [(none)]> flush privileges;
MariaDB [(none)]> exit;

2、PHP、PHP-FPM及与PHP相关组件的装置及布局

3、修改php-fpm的布局文件

① vim /etc/php.ini 改两行

date.timezone = Asia/Shanghai 时区

short_open_tag = On 允许短标签

 

vim /etc/php-fpm.d/www.conf 改两行

user = nobody

group = nobody

 

systemctl restart php-fpm

 

搭建nginx1:

1、安装Nginx并创办web资源存放目录

[root@nginx1 Desktop]# yum install -y nginx
[root@nginx1 Desktop]# mkdir -pv /data/html

2、创制index.html默许页面并下载PHPMyAdmin和WordPress

[root@nginx1 Desktop]# cd /data/html
[root@nginx1 html]# vim index.html
    <h1>this is 10.10.0.11 nginx</h1>
[root@nginx1 html]# wget https://cn.wordpress.org/wordpress-4.9.4-zh_CN.tar.gz
[root@nginx1 html]# wget https://files.phpmyadmin.net/phpMyAdmin/4.0.10.20/phpMyAdmin-4.0.10.20-all-languages.tar.gz
[root@nginx1 html]# tar xf wordpress-4.9.4-zh_CN.tar.gz
[root@nginx1 html]# tar xf phpMyAdmin-4.0.10.20-all-languages.tar.gz
[root@nginx1 html]# ln -sv phpMyAdmin-4.0.10.20-all-languages phpmyadmin
#配置wordpress所用数据库
[root@nginx1 html]# cp /data/html/wordpress/wp-config-sample.php /data/html/wordpress/wp-config.php
[root@nginx1 html]# vim /data/html/wordpress/wp-config.php
    define('DB_NAME', 'wordpress');
    define('DB_USER', 'wpuser');
    define('DB_PASSWORD', '12345678');
    define('DB_HOST', 'localhost');
    define('DB_CHARSET', 'utf8');

3、配置虚拟主机并启动nginx:

[root@nginx1 html]# vim /etc/nginx/nginx.conf
#注释nginx默认的主机配置
    ...
    server {
#        listen       80 default_server;
#        listen       [::]:80 default_server;
    ...
[root@nginx1 html]# vim /etc/nginx/conf.d/vhost.conf   #配置虚拟主机,页面动静分离
  server {
    listen 80;
    server_name www.test.org;
    index index.html;
    location / {
         root /data/html;
    }
    location ~* \.php$ {
      fastcgi_pass 10.10.0.13:9000;
      fastcgi_index index.php;
      include fastcgi_params;
      fastcgi_param SCRIPT_FILENAME /data/html/$fastcgi_script_name;
    }
    location ~* ^/(status|ping)$ {
      fastcgi_pass 10.10.0.13:9000;
      include fastcgi_params;
      fastcgi_param SCRIPT_FILENAME $fastcgi_script_name;
    }
    }
[root@nginx1 html]# systemctl start nginx.service

3、Nginx Web服务器搭建与安插

4、运行mysql ,成立一会网页要求的库

create database xiaomi;

 

nginx2配置进度同nginx1.

4、wordpress安装

5、把先期找好的华为网站传进来 rz

金立网站的源码资源我已经上传到网盘了
,需要的私密我

mkdir /data/web -p 创立一个索引专门放金立的网页配置

unzip -d /data/web/ xiaomi.zip 解压到目录

cd /data/web/

chown -R nobody.nobody *
为了安全,递归把装有文件的所属人和所属组改为权力有限的nobody

 

搭建Nginx SLB:

设置nginx并展开负荷均衡布局:

[root@SLB Desktop]# yum -y install nginx
[root@SLB Desktop]# vim /etc/nginx/nginx
#在http字段进行以下配置
    http {
        ...
        #定义集群
        upstream webservers {
            server 10.10.0.11:80 max_fails=3;
            server 10.10.0.12:80 max_fails=3;
            server 127.0.0.1:80 backup;
        }
        server {
        ...
        location / {
                proxy_pass http://webservers;   #反代给集群服务器
                proxy_set_header host $http_host;   #设置代理请求报文的host字段为$http_host
                proxy_set_header X-Forward-For $remote_addr;       #为代理请求报文添加X-Forward-For字段以传递真实ip地址$remote_addr
            }
            ...
        }
[root@SLB Desktop]# systemctl start nginx.service

留意:本次实验,除了nginx使用源码安装外,其他的软件全体选取rpm包yum方式展开设置。

6、网页登录

① 用户:admin

密码:123456

澳门金沙国际 46

② 参数设置:就是连连上团结的数据库

澳门金沙国际 47

也足以在指令行连上温馨的数据库:

vim /data/web/data/config.php

澳门金沙国际 48

③ 把多少写到数据库中,恢复生机数据

澳门金沙国际 49

 

客户端举行访问:

1、修改hosts:

[root@client Desktop]# vim /etc/hosts
    ...
    172.16.0.11 www.test.org

2、访问:

澳门金沙国际 50 
 
  澳门金沙国际 51

3、没安顿缓存时进行压力测试:

[root@client Desktop]# ab -c 100 -n 100000 http://www.test.org/wordpress
This is ApacheBench, Version 2.3 <$Revision: 1430300 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking www.test.org (be patient)
Completed 10000 requests
Completed 20000 requests
Completed 30000 requests
Completed 40000 requests
Completed 50000 requests
Completed 60000 requests
Completed 70000 requests
Completed 80000 requests
Completed 90000 requests
Completed 100000 requests
Finished 100000 requests


Server Software:        nginx/1.12.2
Server Hostname:        www.test.org
Server Port:            80

Document Path:          /wordpress
Document Length:        185 bytes

Concurrency Level:      100
Time taken for tests:   58.734 seconds
Complete requests:      100000
Failed requests:        0
Write errors:           0
Non-2xx responses:      100000
Total transferred:      41700001 bytes
HTML transferred:       18500000 bytes
Requests per second:    1702.59 [#/sec] (mean)
Time per request:       58.734 [ms] (mean)
Time per request:       0.587 [ms] (mean, across all concurrent requests)
Transfer rate:          693.34 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    2   8.4      0     295
Processing:     2   57 124.9     31    2962
Waiting:        2   56 124.8     31    2962
Total:          7   58 125.3     33    2962

Percentage of the requests served within a certain time (ms)
  50%     33
  66%     51
  75%     66
  80%     77
  90%    111
  95%    157
  98%    273
  99%    375
 100%   2962 (longest request)

一、 Mysql数据库安装及配置

7、实验成功,登录查看

澳门金沙国际 52

后台登录,可以团结不论修改

澳门金沙国际 53

 

8、ab 可以压力测试

ab -c 100 -n 1000  

 

4、在SLB服务器进行缓存配置:

#创建缓存存放目录
[root@SLB Desktop]# mkdir -p /data/nginx/cache
[root@SLB Desktop]# vim /etc/nginx/nginx.conf
#在http字段进行配置
    http {
        ...
        proxy_cache_path /data/nginx/cache levels=1:1 keys_zone=nginxcache:50m max_size=1g;
        ...

        server {
            ...
            proxy_cache nginxcache;
            proxy_cache_key $request_uri;
            proxy_cache_valid 200 301 302 1h;
            proxy_cache_methods GET HEAD;
            proxy_cache_valid any 1m;
            add_header X-cache '$upstream_cache_status from $host';
            proxy_cache_use_stale http_502;
            ...
        }
[root@SLB Desktop]# systemctl restart nginx.service

5、再一次开展压力测试:

[root@client Desktop]# ab -c 100 -n 100000 http://www.test.org/wordpress
This is ApacheBench, Version 2.3 <$Revision: 1430300 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking www.test.org (be patient)
Completed 10000 requests
Completed 20000 requests
Completed 30000 requests
Completed 40000 requests
Completed 50000 requests
Completed 60000 requests
Completed 70000 requests
Completed 80000 requests
Completed 90000 requests
Completed 100000 requests
Finished 100000 requests


Server Software:        nginx/1.12.2
Server Hostname:        www.test.org
Server Port:            80

Document Path:          /wordpress
Document Length:        185 bytes

Concurrency Level:      100
Time taken for tests:   14.391 seconds
Complete requests:      100000
Failed requests:        0
Write errors:           0
Non-2xx responses:      100000
Total transferred:      41700000 bytes
HTML transferred:       18500000 bytes
Requests per second:    6948.98 [#/sec] (mean)
Time per request:       14.391 [ms] (mean)
Time per request:       0.144 [ms] (mean, across all concurrent requests)
Transfer rate:          2829.81 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    1   1.9      0      48
Processing:     2   14   3.9     13      58
Waiting:        1   13   3.8     13      58
Total:          8   14   3.9     13      67

Percentage of the requests served within a certain time (ms)
  50%     13
  66%     14
  75%     14
  80%     14
  90%     16
  95%     24
  98%     27
  99%     29
 100%     67 (longest request)

 

1.1 mysql数据库安装

实验二:实现ssl 加密

(1)一个物理服务器设置一个https

mysql数据库,大家使用yum情势展开安装。如下:

1、创设存放证书的目录

mkdir /etc/nginx/ssl

 

yum -y install mysql mysql-server

2、自签署证书

cd /etc/pki/tls/certs/

make nginx.crt

澳门金沙国际 54

openssl rsa -in nginx.key -out nginx2.key
因为刚私钥被加密了,为了前面方便,解密

 

澳门金沙国际 55

3、把证件和私钥cp 到nginx存放证书目录

cp nginx.crt nginx2.key /etc/nginx/ssl/

cd /etc/nginx/ssl/

mv nginx2.key nginx.key 把名字改回来

 

澳门金沙国际 56

4、修改配置文件,加一段server

server {
   listen 443 ssl;
   server_name www.along.com;
   ssl on;
   ssl_certificate /etc/nginx/ssl/nginx.crt;
   ssl_certificate_key /etc/nginx/ssl/nginx.key;
   ssl_session_cache shared:sslcache:20m;
   ssl_session_timeout 10m;
 }

 

澳门金沙国际 57

 

1.2 修改mysql数据库root用户密码及布置远程访问权限

5、测试,网页打开

澳门金沙国际 58

windows 信任证书

澳门金沙国际 59

 

(2)因为nginx 强大,可以完结两个虚拟主机基于分化的FQDN
完结ssl加密,httpd不可以兑现

一个大体服务器设置多个https

1、生成3个阐明和私钥

make nginx.crt

make nginx2.crt

make nginx3.crt

澳门金沙国际 60

 

2、把证件和私钥cp 到nginx存放证书目录,并肢解私钥的加密

cp nginx{1,2,3}* /etc/nginx/ssl/

openssl rsa -in nginx.key -out nginx.key

openssl rsa -in nginx2.key -out nginx2.key

openssl rsa -in nginx3.key -out nginx3.key

 

3、创造各自对应的拜访网页

mkdir /app/website{1,2,3}

echo website1 > /app/website1/index.html

echo website1 > /app/website2/index.html

echo website1 > /app/website3/index.html

澳门金沙国际 61

 

4、测试访问,成功

 

mysql数据库安装落成后,大家来启动mysql数据库,并修改mysql数据库的有关安装,同时还要为wordpress创立ailanni数据库。如下:

实战三:实出现份验证

/etc/init.d/mysqld start

1、生成密码账户文件

cd /etc/nginx/conf.d

htpasswd -c -m .htpasswd http1

htpasswd -m .htpasswd http2

澳门金沙国际 62

 

澳门金沙国际 63

2、在安插文件中修改

vim /etc/nginx/nginx.conf 在location段中针对账户密码文件

location /images {

  auth_basic “images site”; “提示字”

  auth_basic_user_file /etc/nginx/conf.d/.htpasswd;

}

澳门金沙国际 64

 

修改mysql数据库root用户的密码,mysql数据库安装后root用户默许密码为空。使用如下命令:

3、网页查看验证

澳门金沙国际 65

 

mysql -u root –p或者mysql -uroot –p

尝试四:完结反向代理负载均衡且状态分离

澳门金沙国际 66

use mysql;

1、环境准备:

机器名称

IP配置

服务角色

备注

nginx

VIP:172.17.11.11

  

反向代理服务器

开启代理功能

设置监控,调度

rs01

RIP:172.17.22.22

后端服务器

stasic-srv 组

rs02

RIP:172.17.1.7

后端服务器

stasic-srv 组

rs01

RIP:172.17.77.77

后端服务器

defautl-srv 组

rs02

RIP:172.17.252.111

后端服务器

defautl-srv 组

 

update user set password=password(‘123456′) where user=’root’;

2、下载编译安装tengine

缘由:nginx自带的督察格局纵然能用,不过很科学通晓;tengine的监察方式易设简单,且是在nginx的二次开发,和nginx差不多

(1)官网下载: 还辅助中文

澳门金沙国际 67

解包 tar tengine-2.1.1.tar.gz

cd tengine-2.1.1

(2)下载所依靠的包

yum -y groupinstall “development tools”

yum install openssl-devel -y

yum install pcre-devel -y

 

(3)编译安装

./configure –prefix=/usr/local/tengine 指虞诩装后的目录

make && make install

 

flush privileges;

3、设置代理服务器的配备文件

cd /usr/local/tengine/conf

cp nginx.conf /usr/local/tengine/conf/
若机器上本有nginx,可以把布置文件平昔拷过来,没有也可自己安装

vim nginx.conf 全局段和 http段自身就不安装了,默许就好

① 定义upstream:后端server 群

upstream lnmp-srv1 {
        server 172.17.22.22:80;
        server 172.17.1.7:80;
        check interval=3000 rise=2 fall=5 timeout=1000 type=http;
        check_http_send "HEAD / HTTP/1.0\r\n\r\n";
        check_http_expect_alive http_2xx http_3xx;
}
upstream lnmp-srv2 {
        server 172.17.77.77:80;
        server 172.17.252.111:80;
        server 172.17.1.7:80;
        check interval=3000 rise=2 fall=5 timeout=1000 type=http;
        check_http_send "HEAD / HTTP/1.0\r\n\r\n";
        check_http_expect_alive http_2xx http_3xx;
}

 

 

② 在server段的location 段中装置景况分离

server {
   listen 80;
   location /stats { #设置监听页面
   check_status;
 }

    location ~* .jpg|.png|.gif|.jpeg$ {
      proxy_pass http://static-srv;
   }
    location ~* .css|.js|.html|.xml$ {
      proxy_pass http://static-srv;
   }
   location / {
     proxy_pass http://default-srv;
   }
}

 

 

/etc/init.d/mysqld restart

4、启动tengine服务

cd /usr/local/tengine/sbin/

./nginx 启动tengine

./nginx -s stop 停止

 

澳门金沙国际 68

5、开启后端的web服务

systemctl start nginx

systemctl start php-fpm

systemctl start mariadb

 

澳门金沙国际 69

6、测试

(1)测试反向代理是或不是成功 web页面访问成功

澳门金沙国际 70

(2)测试状态页面

澳门金沙国际 71

 

(3)测试意况分离

把静态页面的后端server组的服务宕机,发现没有静态的事物了

澳门金沙国际 72

 

 

默许情状下,mysql数据库只允许本机访问mysql数据库。但是为了对mysql数据库管理的福利,大家须求开启mysql数据库远程访问的权能。使用如下命令:

试行五:nginx完毕缓存作用

澳门金沙国际 73

要求分析:为啥要求缓存?

缓存的最根本的目标是为了增长网站品质, 减轻频仍造访数据 ,
而给数据库带来的压力 。 合理的缓存 , 还会减轻程序运算时 , 对CPU
带来的压力。在处理器现代布局中,
操作内存中的多少比操作存放在硬盘上的多寡是要快N 个数据级的 ,
操作不难的文本结构的数据 , 比操作数据库中的数据快N 个数据级 。

诸如: 每一回用户访问网站, 都必须从数据库读取网站的标题, 每读一回索要15
阿秒的时间, 假诺有100 个用户( 先不考虑同一时间访问), 每小时访问10 次,
那么就须要读取数据库1000 次, 必要时间15000 飞秒.
如果把页面一向成为页面缓存,则每趟访问就不要求去数据库读取,大大提高了网站质量。

 

mysql -u root –p或者mysql -uroot –p

1、环境准备:同上实验,实验结构图如下:

澳门金沙国际 74

 

use mysql;

2、设置代理服务器的布局文件

① 先在http段定义缓存

proxy_cache_path /data/cache levels=1:2:2 keys_zone=proxycache:10m
inactive=120s max_size=1g

分析:定义一个缓存,路径在/data/cache
下;三级目录,第一流[0-f]随意数字,第二、三级[00-ff]轻易数字;定义缓存的名字proxycache,缓存大小10M;存活时间120s;在磁盘占用空间最大1G。

 

② 再在server段引用缓存

proxy_cache proxycache; # 引用上面定义上的缓存空间,同一缓存空间可以在几个地方使
用
proxy_cache_key $request_uri; #对uri做hash运算
proxy_cache_valid 200 302 301 1h; #200、302、301响应码的响应内容的缓存1小时
proxy_cache_valid any 1m; #其它缓存1分
add_header Along-Cache "$upstream_cache_status form $server_addr"; # 给请求响应增加一个头部信息,表示从服务器上返回的cache

澳门金沙国际 75

 

update user set host=’%’ where user=’root’;

3、测试:访问 ,F12调试情势下,看到自己设置的一定尾部存在

澳门金沙国际 76

缓存目录也生成了缓存

澳门金沙国际 77

 

实战一:搭建lnmp及类诺基亚等商业网站的完毕 环境:关闭防火墙,selinux
1、安…

flush privileges;

/etc/init.d/mysqld restart

澳门金沙国际 78

澳门金沙国际 79

以上配置达成后,你会发现mysql连接格外慢。我们只须求修改mysql数据库的布置文件即可。

打开/etc/my.cnf文件,在mysqld中,参加skip-name-resolve,然后重启mysql数据库,即可。如下:

vi /etc/my.cnf

/etc/init.d/mysqld restart

澳门金沙国际 80

1.3 创制wordpress所需数据库

如上操作截至后,大家再连接mysql数据库,在此我们选用的是Navicat
Premium数据库客户端。

透过Navicat Premium创造Wordpress博客所急需的数据库,有关使用Navicat
Premium创造mysql数据库,可以参考《烂泥:Navicat
Premium使用mysql数据库》,数据库制造完成后如下:

澳门金沙国际 81

自然咱们也得以应用,phpmyadmin创立wordpress说须要的数据库。

有关在nginx上设置与利用phpmyadmin,我会在下一篇小说中介绍。

二、PHP、PHP-FPM及与PHP相关组件的安装及布局

mysql数据库安装收尾后,我们现在来布署php环境。

2.1 安装PHP及其相关组件

首先安装php及连锁的零件,使用如下命令:

yum -y install php*

澳门金沙国际 82

澳门金沙国际 83

在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

澳门金沙国际 84

2.2 配置php-fpm

php相关组件安装达成后,大家即未来布局php-fpm。

翻看php-fpm的连锁设置文档,如下:

rpm -ql php-fpm

澳门金沙国际 85

透过上图,大家得以见到php-fpm的连带计划文件。主要布局文件为/etc/php-fpm.conf,现在翻开该配置文件,如下:

more /etc/php-fpm.conf

澳门金沙国际 86

你会意识该配置文件根本就从未定义啊,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

澳门金沙国际 87

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

澳门金沙国际 88

那张图,显示的是运行php-fpm进程时,所利用的用户及用户组。在此,我们应用默许用户及用户组apache。

不难,只要大家设置好php-fpm不开展其余配置,使用默许的计划即可。

自然倘诺您想进一步优化php-fpm配置来说,可以因此php-fpm安装时说给出的布置模版来安插,该配置模版位于:

more /usr/share/doc/php-fpm-5.3.3/php-fpm.conf.default

澳门金沙国际 89

上述配置落成后,大家来启动php-fpm,并查阅是不是健康监听端口以及地点。如下:

/etc/init.d/php-fpm start

chkconfig php-fpm on

netstat -tunlp |grep 9000

ps aux |grep php-fpm

澳门金沙国际 90

通过上图,大家可以见见眼前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

澳门金沙国际 91

三、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

澳门金沙国际 92

解压nginx,并拓展编译、安装如下:

tar -xf /tmp/tengine-2.0.3.tar.gz -C ./

./configure

澳门金沙国际 93

make && make install

澳门金沙国际 94

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配置文件的。

澳门金沙国际 95

澳门金沙国际 96

经过上图,我们得以很明显的看出。nginx已经屡见不鲜启动,并且也得以正常访问。

当今大家看看nginx运行的用户,如下:

ps -aux|grep nginx

澳门金沙国际 97

经过上图,我们可以看到眼前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;

}

澳门金沙国际 98

上述配置完成后,我们来给nginx配置主页。就是添加index.php文件,如下:

location / {

root html;

index index.php index.html index.htm;

}

澳门金沙国际 99

明天大家来测试下,nginx有关php的布局是或不是科学。编辑index.php文件,加入<?php
phpinfo();?>,如下:

vi ./html/index.php

澳门金沙国际 100

当今来测试下nginx配置是不是正确,然后优雅的重启nginx,使用如下命令:

/usr/local/nginx/sbin/nginx –t

/usr/local/nginx/sbin/nginx -s reload

澳门金沙国际 101

澳门金沙国际 102

透过上图,我们可以看看眼前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;

}

}

澳门金沙国际 103

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

澳门金沙国际 104

为了和前面nginx的默许主页举办区分,我前几天把虚拟主机a.ilanni.com的主页,使用的是一个php探针。

澳门金沙国际 105

上述虚拟主机配置已毕后,大家来重启下nginx,如下:

/usr/local/nginx/sbin/nginx –t

/usr/local/nginx/sbin/nginx -s reload

澳门金沙国际 106

通过上图,大家得以很明朗的观察。近来虚拟主机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

澳门金沙国际 107

把解压后的文书复制到虚拟主机a.ilanni.com根目录下,如下:

cp -rv ./wordpress a.ilanni.com/

澳门金沙国际 108

开班设置wordpress,在浏览器中走访a.ilanni.com,如下:

澳门金沙国际 109

填写mysql数据库的相干音讯。如下:

澳门金沙国际 110

复制该信息到文件wp-config.php中,如果该公文不设有,则在a.ilanni.com根目录下,成立wp-config.php文件,如下:

澳门金沙国际 111

vi wp-config.php

澳门金沙国际 112

设置博客的连锁伊斯坦布尔型,如下:

澳门金沙国际 113

升迁已经安装成功,如下:

澳门金沙国际 114

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

澳门金沙国际 115

到此有关在nginx下安装wordpress博客,已经到位。

相关文章