微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Linux三阶段之九:期中架构LNMP章节

九、期中架构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)进行软件直接的结合

	   NginxPHP结合:编写Nginx配置文件
	   location ~* .*\.(PHP|PHP5)?$ {
          fastcgi_pass  127.0.0.1:9000;
          fastcgi_index index.PHP;
          include fastcgi.conf;
       }
	   
	   PHPMysqL结合:编写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 !\n";
                       }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;

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐