坚持#第266天~个人博客全分离

LNMP实验:搭建个人博客

start:

nginx-1.10.3.tar.gz

mysql-5.6.22.tar.gz

先安装上面两个,因为php需要指定

php-5.6.30.tar.gz

wordpress-4.5.3

 

安装nginx(已有脚本)

useradd -M-s /sbin/nologin nginx

yum install-y gcc* pcre-devel zlib-devel

./configure--help|grep status

./configure--user=nginx --group=nginx 加上上面的粘贴

make&& make install

 

安装数据库(已有脚本)

useradd -M-s /sbin/nologin mysql

...

 

安装php5.6.30.tar.gz(我之前装的版本是5.5.30,看需不需要重新安装)

进入解压后的目录

./configure--prefix=/usr/local/php5.6.30 --with-gd --with-zlib--with-mysql=/usr/local/mysql --with-config-file-path=/usr/local/php5.6.30--enable-mbstring --enable-fpm报错,要安装下面的东西

yum install-y libxml2-devel 

#yumprovides */png.h(yum searchpng.h找不到就用yum provides*/png.h注意是*/)

yum install-y libpng-devel

make&& make install

# 上面等了半个小时

 

mysql进入数据库

createdatabase wordpress;

grant all onwordpress.*(库.表)   to wordpress@'localhost' identified by'123';

flushprivileges;

\q

cd/usr/local/nginx

vimconf/nginx.conf下面红字

user  nginx;

        server {

            listen       80;

            server_name  localhost;

            location / {

                root   html;

                index  index.html index.htm index.php;  支持php索引页

            }

            location ~ \.php$ {

            root           html;

            fastcgi_pass   127.0.0.1:9000;   localcation代理到9000端口

            fastcgi_index index.php;

            fastcgi_param  SCRIPT_FILENAME脚本存放的位置 /usr/local/nginx/html$fastcgi_script_name;  

            include        fastcgi_params;

            }

            }

cd/usr/local/php5.6.30

ls发现没有配置文件

cd/usr/local/php5.6.30/etc/

ls

cpphp-fpm.conf.default php-fpm.conf

vimphp-fpm.conf修改一下

这里面居然是用分号来注释的

第149、150行改nobody为nginx

164多行监听的端口、套接字9000是php的端口

235行子进程的数量改为50

240行pm.start_servers =10  程序一运行开启多少个进程(这个start参数要介于最小空闲和最大空闲之间不然会报错)

245行最小的空闲改为8

250多行最大空闲改为15

试试不改4个值,默认性能怎么样

cd /LBXdir

将wordpress-4.5.3-zh_CN.tar.gz包拷贝到/LBXdir

ls

部署WEB应用

tar xzfwordpress-4.5.3-zh_CN.tar.gz -C /usr/local/nginx/html/   把wordpress脚本解压到html发布目录

cd/usr/local/nginx/html/

cd/usr/local/nginx/html/wordpress

启动服务

/usr/local/nginx/sbin/nginx

/usr/local/php5.6.30/sbin/php-fpm启动php服务、开启php服务

netstat-luantp | grep 80

netstat-luantp | grep 9000

浏览器输入ip/wordpress

现在就开始

数据库名:wordpress

用户名:wordpress

密码:123

数据库主机:localhost

表前缀:wp_

提交

复制信息

vim/usr/local/nginx/html/wordpress/wp-config.php

粘贴

进行安装

站点标题:hello用户名:admin密码:admin确认使用 电子邮件:lbx@lbx.com安装

 

kill `pgrepphp-fpm`(这个命令是在php-5.6.30/sbin/php-fpm)

 

网页连接不上数据库?

没有名字的账户,数据库里面存在匿名用户,需要去删除匿名用户

 

经验:韩惠个人博客安装的mysql里面的配置文件不能改动,改动就不能启动数据库服务

 

LNMP全分离实验:

交给下面

nginx静态页面自己处理

交给下面

php动态页面交给php服务器处理

交给下面

mysql

 

cd/php-5.6.30

.configure--help

 

yum install-y mariadb-server

rpm -qlmariadb-server

systemctlstart mariadb

ps aux |grep mariadb

--basedir=/usr就是安装目录

 

做数据库和PHP和nginx分离时加上:

php的--with-mysql=/usr/local/mysql换成--with-mysqli=mysqlnd

 

网页是放在哪里?nginx机里还是php机里面,我认为php机里面是无法写网页的,结果两边都要有网页的目录和网页都在/usr/local/nginx/html里面

代理机的nginx用户的uid和gid需不需要和php机一样?(通过修改/etc/passwd和/etc/group)

两边机器的uid、gid不需要一样呀

 

验证一下代理机和php机网页内容到底哪一个是真的?还是都为真才可以?

只用看php机的网页即可,这个网页是写在/usr/local/nginx/html里面的,不用装nginx,直接去创建目录和网页即可

 

韩惠的本机上yum安装了httpd和php,但是为什么不能访问.php的网站?

验证编译安装的apache能不能访问.php的网站?

编译安装的apache去访问.php网站就会显示源代码(不开启php服务、没设置支持php)

编译安装的apache去访问.php网站就会显示源代码(开启php服务、没设置支持php)

编译安装的apache去访问.php网站就会显示源代码或不停刷新后出现空白页(不开启php服务、设置支持php)

编译安装的apache去访问.php网站就会显示源代码或不停刷新后出现空白页(开启php服务、设置支持php)

 

验证yum安装的apache能不能访问.php的网站?

yum安装的apache去访问.php网站就会显示源代码或不停刷新后出现空白页(不开启php服务、没设置支持php)

yum安装的apache去访问.php网站就会显示源代码或不停刷新后出现空白页(开启php服务、没设置支持php)

yum安装的apache去访问.php网站就会显示源代码或不停刷新后出现空白页(不开启php服务、设置支持php)

yum安装的apache去访问.php网站就会显示源代码或不停刷新后出现空白页(开启php服务、设置支持php)

 

验证nginx能不能访问.php的网站?

nginx去访问.php网站就会出现下载的页面(不开启php服务、没设置支持php)

nginx去访问.php网站就会出现下载的页面(开启php服务、没设置支持php)

nginx去访问.php网站就会出现下载的页面(不开启php服务、设置支持php)

nginx去访问.php网站就会出现下载的页面(开启php服务、设置支持php)

nginx去访问.php网站就会出现php的信息(开启php服务、设置支持php、主配置文件开启65~71现成的fastcgi并修改69行的/scripts为/usr/local/nginx/html)必须同时满足3个条件

 

得出一个结论:访问.php的网站需要用编译的apache,这个编译需要些具体的模块参数(请见qq农场的编译apache),并且qq农场不需要开启php服务;访问.php的网站或者需要用nginx,并且要开启php服务配置文件,并开启65~71现成的fastcgi并修改69行的/scripts为/usr/local/nginx/html


# 安装个人博客(全部分离安装:3台虚拟机分别安装mysql、nginx、php5.6.30)

# 执行顺序1,mysql机:安装好mysql,已有脚本

# mysql脚本、mysql安装

# 首先在新的最小化的虚拟机里面配置yum源

# 拷贝mysql-5.6.22.tar.gz压缩包到那个虚拟机里,解压后进入那个目录执行以下脚本

yum install-y cmake

echo -e"\033[32;1mcmake安装成功~\033[0m"

useradd -M-s /sbin/nologin mysql

echo -e"\033[32;1m创建数据库库mysql非系统用户成功~\033[0m"

mkdir -p/mysql/data

echo -e"\033[32;1m创建数据库目录/mysql/data成功~\033[0m"

chownmysql.mysql /mysql -R

echo -e"\033[32;1m递归修改/mysql目录的所有者和所属组成功~\033[0m"

yum install-y gcc*

echo -e"\033[32;1m安装gcc成功~\033[0m"

yum installncurses-devel -y

echo -e"\033[32;1m安装ncurses-devel成功~\033[0m"

yum installopenssl-devel -y

echo -e"\033[32;1m安装openssl-devel成功~\033[0m"

# yuminstall -y cmake gcc* ncurses-devel openssl-devel要安装这么多东西

cmake .-DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/mysql/data-DDEFAULT_CHARSET=utf8 -DEXTRA_CHARSETS=all -DDEFAULT_COLLATION=utf8_general_ci-DWITH_SSL=system -DWITH_EMBEDDED_SERVER=1 -DENABLED_LOCAL_INFILE=1-DWITH_INNOBASE_STORAGE_ENGINE=1

echo -e"\033[32;1m使用cmake安装数据库成功~\033[0m"

make&& make install

echo -e"\033[32;1m编译和编译安装成功~\033[0m"

sed -i'1!d;1a\datadir=/mysql/data' /etc/my.cnf

echo -e"\033[32;1m修改/etc/my.cnf的数据目录成功~\033[0m"

yum install-y perl-Data-Dumper

echo -e"\033[32;1m安装模块perl-Data-Dumper成功~\033[0m"

/usr/local/mysql/scripts/mysql_install_db--user=mysql --group=mysql --basedir=/usr/local/mysql --datadir=/mysql/data

echo -e"\033[32;1m数据库初始化成功~\033[0m"

/usr/local/mysql/support-files/mysql.serverstart

echo -e"\033[32;1m开启数据库服务成功~\033[0m"

ln -s/usr/local/mysql/bin/* /usr/bin

echo -e"\033[32;1m制作软链接成功~\033[0m"

# 创建数据库、授权用户

read -p"请输入php机的ip:" phpjiIP

/usr/local/mysql/support-files/mysql.serverstart

mysql -e"create database wordpress;"

# 如果不知道授权ip给谁就写'%'所有机子都能用这个用户访问这个数据库

mysql -e"grant all on wordpress.* to wordpress@'%' identified by '123';"

mysql -e"flush privileges;"

echo "已经成功授权给wordpress用户,密码是123"

 

# 执行顺序2,nginx机:安装好nginx,已有脚本

# nginx安装

# nginx简介:和httpd、apache一样都是网页服务

# 拷贝压缩包nginx-1.10.3.tar.gz解压并进入那个目录

useradd -M-s /sbin/nologin -r nginx

yum install-y gcc* pcre-devel zlib-devel

./configure--user=nginx --group=nginx --with-http_stub_status_module

make&& make install

ln -s/usr/local/nginx/sbin/nginx /usr/bin

echo "已经成功安装nginx并将命令作为了软链接可以直接用nginx启动80端口了,目录是在/usr/local/nginx里面"

# 修改配置文件user nginx,支持.php网页,指向php机ip,并设置脚本位置

read -p"请输入php机的ip:" phpjiIP

sed -i -r -e'2c\user  nginx;' -e '45c\\t    index index.html index.htm index.php;' -e '65,71 s@#@@' -e '67 s#127.0.0.1#'$phpjiIP'#'-e '69 s#/scripts#/usr/local/nginx/html#' /usr/local/nginx/conf/nginx.conf

# 启动服务

/usr/local/nginx/sbin/nginx

 

# 执行顺序3,php机,安装好php5.6.30,脚本见下面

# 将php-5.6.30.tar.gz包和wordpress-4.5.3-zh_CN.tar.gz包拷贝到当前目录,都不需要解压

mkdir -p/usr/local/nginx/html/

tar xzfwordpress-4.5.3-zh_CN.tar.gz -C /usr/local/nginx/html/

tar xzfphp-5.6.30.tar.gz

cdphp-5.6.30

yum install-y libxml2-devel libpng-devel

./configure--prefix=/usr/local/php5.6.30 --with-gd --with-zlib --with-mysqli=mysqlnd--with-config-file-path=/usr/local/php5.6.30 --enable-mbstring --enable-fpm

make&& make install

# 复制改名配置文件、修改配置文件

phpjiIP=`ifconfigens33 | grep netmask | tr -s " " | cut -d " " -f3 | cut -d"." -f1,2,3,4`

cp/usr/local/php5.6.30/etc/php-fpm.conf.default/usr/local/php5.6.30/etc/php-fpm.conf

sed -i -r -e'149 s#nobody#nginx#' -e '150 s#nobody#nginx#' -e '164 s#127.0.0.1#'$phpjiIP'#'/usr/local/php5.6.30/etc/php-fpm.conf

# 发现开启服务的时候报错ERROR: [pool www] cannotget uid for user 'nginx'

# 说明没有创建php机配置文件指定的那个nginx用户:id nginx检查有没有这个用户

useradd -M-s /sbin/nologin nginx

/usr/local/php5.6.30/sbin/php-fpm

echo "浏览器输入nginx机ip/wordpress"

echo "数据库名wordpress,用户名wordpress,密码123,数据库主机ip,表前缀wp_"

echo "提交,复制信息,然后在php机里面操作,vim/usr/local/nginx/html/wordpress/wp-config.php 粘贴,安装"

echo "站点标题:hello用户名:admin密码:admin确认使用 电子邮件:lbx@lbx.com安装"

echo"发现404是因为跳转到了目录,而他自己不会自动寻找index.php页面,需要自己手动输入才行"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值