九、期中架构LNMP章节
(一)LNMP架构说明
1)使前端web服务和后端存储服务进行串联
2)主要实现处理PHP程序动态请求
(二)LNMP架构工作原理
L Linux N nginx M mysql P php
(三)LNMP架构部署
1)安装LNMP相关软件
①. 部署Linux系统
基础优化操作要完成(防火墙关闭 关闭selinux /tmp权限为1777)
②. 部署nginx服务
见上一章节
③. 部署mysql服务
yum部署软件 ,编译安装软件, 二进制包方式部署mysql服务
第一个里程:下载并解压mysql软件程序
mysql官方下载链接地址:ftp://ftp.jaist.ac.jp/pub/mysql/Downloads/MySQL-5.6/
上传mysql软件程序,进行利用xftp软件进行上传
tar xf mysql-5.6.34-linux-glibc2.5-x86_64.tar.gz
mv mysql-5.6.34-linux-glibc2.5-x86_64 /application/mysql-5.6.34
第二个里程:创建软件程序软链接
ln -sf /application/mysql-5.6.34/ /application/mysql
第三个里程:创建数据库管理用户,并授权数据目录
useradd mysql -M -s /sbin/nologin
chown -R mysql.mysql /application/mysql/data/
第四个里程:对数据库服务进行初始化
/application/mysql/scripts/mysql_install_db --basedir=/application/mysql --datadir=/application/mysql/data/ --user=mysql
第五个里程:启动mysql服务
cp /application/mysql/support-files/mysql.server /etc/init.d/mysqld
sed -ri 's#/usr/local#/application#g' /etc/init.d/mysqld /application/mysql/bin/mysqld_safe
cp /application/mysql/support-files/my-default.cnf /etc/my.cnf
/etc/init.d/mysqld start
第六个里程:设置数据库root用户登录密码
/application/mysql/bin/mysqladmin -uroot password "oldboy123"
/application/mysql/bin/mysql -uroot -poldboy123
④. PHP软件安装部署过程
第一里程:解决PHP软件的依赖关系
yum install -y zlib-devel libxml2-devel libjpeg-devel libjpeg-turbo-devel libiconv-devel freetype-devel libpng-devel gd-devel libcurl-devel libxslt-devel
libiconv软件安装---字符集转换库(默认可以不进行安装了)
cd /server/tools
#wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz
tar zxf libiconv-1.14.tar.gz
cd libiconv-1.14
./configure --prefix=/usr/local/libiconv
make
make install
cd ../
#wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo
yum -y install libmcrypt-devel mhash mcrypt
rpm -qa libmcrypt-devel mhash mcrypt
第二个里程:下载解压PHP软件
php官方网站下载:php.net
cd /server/tools/
tar xf php-5.5.32.tar.gz
cd php-5.5.32
./configure
--prefix=/application/php-5.5.32
--with-mysql=/application/mysql-5.6.34
--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=www
--with-fpm-group=www
--enable-ftp
--enable-opcache=no
##防错(以下信息可以不进行配置了)
ln -s /application/mysql/lib/libmysqlclient.so.18 /usr/lib64/
touch ext/phar/phar.phar
make
make install
ln -s /application/php-5.5.32/ /application/php
第三个里程:设置PHP程序配置文件
php.ini php-fpm.ini
cp php.ini-production /application/php-5.5.32/lib/
cd /application/php/etc/
cp php-fpm.conf.default php-fpm.con
第四个里程:启动php程序服务
/application/php/sbin/php-fpm
netstat -lntup|grep php
tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 6251/php-fpm
2)进行软件直接的结合
nginx与php结合:编写nginx配置文件
location ~* .*.(php|php5)?$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi.conf;
}
php与mysql结合:编写php程序代码
<?php
//$link_id=mysql_connect('主机名','用户','密码');
//mysql -u用户 -p密码 -h 主机
$link_id=mysql_connect('localhost','root','oldboy123') or mysql_error();
if($link_id){
echo "mysql successful by oldboy !
";
}else{
echo mysql_error();
}
?>
3)部署一个真的网站
第一个里程:下载与上传网站代码
第二个里程:解压程序代码,将程序代码保存到站点目录并进行授权
tar xf wordpress-4.7.3-zh_CN.tar.gz
mv wordpress/* /application/nginx/html/blog/
chown -R www.www /application/nginx/html/blog/
第三个里程:直接访问blog网站,进行初始化操作
创建数据库:
create database wordpress;
show databases;
创建连接数据用户信息
grant all on wordpress.* to 'wordpress'@'localhost' identified by 'oldboy123';
select user,host from mysql.user;