Lnmp架构
Lnmp(web应用软件组合)
Linux+Nginx+Mysql/MariaDB+Perl/PHP/Python一组常用来搭建动态网站或者服务器的开源软件,本身都是各自独立的程序,但是因为常被放在一起使用,拥有了越来越高的兼容度,共同组成了一个强大的Web应用程序平台。

LAMP的架构以及通信过程
Lnmp是一个cs架构的平台(client/server架构, 即客户端/服务器架构),web客户端基于TCP/IP通过http协议发起传送这个请求可能是动态的也可能是静态的,所有的服务器通过发起请求的后缀来判断,如果是静态的就由web服务器自己处理,然后将资源发给客户端。如果请求是动态的这时web服务器会通过FSATCGI协议发给php,通过php模块去MySQL拿数据在通过Nginx交给客户端。

配置部分
1.Mysql的编译

获取安装包mysql-boost-5.7.11.tar.gz cmake-2.8.12.2-4.el6.x86_64.rpm
Mysql的编译需要用到cmake得先安装cmake 还有一些依耐软件【gcc-c++ncurses-devel】
解压mysql包(mysql解压后较大,要留有超过10G的内存)
进入mysql的一级目录开始编译 make && make install

#######命令的意思
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql   \#安装目录
-DMYSQL_DATADIR=/usr/local/mysql/data    \#数据库存放目录
-DMYSQL_UNIX_ADDR=/usr/local/mysql/data/mysql.sock \ #Unix socket 文件路径
-DWITH_MYISAM_STORAGE_ENGINE=1     \ #安装 myisam 存储引擎
-DWITH_INNOBASE_STORAGE_ENGINE=1    \#安装 innodb 存储引擎
-DWITH_ARCHIVE_STORAGE_ENGINE=1     \#安装 archive 存储引擎
-DWITH_BLACKHOLE_STORAGE_ENGINE=1   \#安装 blackhole 存储引擎
-DWITH_PARTITION_STORAGE_ENGINE=1     \#安装数据库分区
-DENABLED_LOCAL_INFILE=1             \#允许从本地导入数据
-DWITH_READLINE=1                \#快捷键功能
-DWITH_SSL=yes                     \#支持 SSL
-DDEFAULT_CHARSET=utf8             \#使用 utf8 字符
-DDEFAULT_COLLATION=utf8_general_ci  \#校验字符
-DEXTRA_CHARSETS=all                  \#安装所有扩展字符集
-DMYSQL_TCP_PORT=3306                \#MySQL 监听端口


[root@server1 mysql-5.7.11]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/lnmp/mysql   -DMYSQL_DATADIR=/usr/local/lnmp/mysql/data -DMYSQL_UNIX_ADDR=/usr/local/lnmp/mysql/data/mysql.sock  -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1  -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DEXTRA_CHARSETS=all -DWITH_BOOST=./boost/boost_1_59_0/



如果中途出错  make clean  重新make 
将脚本放到正常的位置里面

设置环境变量


让修改的变量生效

数据库初始化之前先建立mysql用户 否则会报错

初始化密码:  f*6c/7!ZMlsx
如果在初始化过程中 因操作失误 在再次操作过程中报错  将/usr/local/lnmp/mysql/data 里面的文件移走即可
修改权限

修改mysql密码
启动服务 用刚才初始化的密码登陆   并修改密码 这里设置为root



PHP安装
获取php-5.6.20.tar.bz2  解压安装   解决相应的依赖性

yum源里面有的

yum源里面没有的需要获取
libmcrypt-2.5.8-9.el6.x86_64.rpm      libmcrypt-devel-2.5.8-9.el6.x86_64.rpm   re2c-0.13.5-1.el6.x86_64.rpm

编译

[root@server1 php-5.6.20]# ./configure --prefix=/usr/local/lnmp/php --with-config-file-path=/usr/local/lnmp/php/etc --enable-mysqld --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-openssl --with-snmp --with-gd --with-zlib --with-curl --with-libxml-dir --with-png-dir --with-jpeg-dir --with-freetype-dir --with-pear  --with-gmp --with-gettext --enable-inline-optimization --enable-soap --enable-ftp --enable-sockets --enable-mbstring --enable-fpm --with-fpm-user=nginx --with-fpm-group=nginx --with-mcrypt --with-mhash


接下来 make && make install

结果如图说明成功
最后切到刚才指定的路径 看看有没有文件  nginx出现是因为为是同时编译的 正常顺序没有


php文件的配置

将执行脚本放到etc下 赋予指执行权限

更改时区




建立nginx用户  启动服务

添加php路径


刷新使更改的文件立即生效  查看php9000端口的状态




Nginx部分
获取nginx-1.10.1.tar.gz   nginx-sticky-module-ng.tar.gz
依然三部曲走起


注意路径去掉 debug 模式编译,编译以后程序只有几百 k

取消版本号为了安全,这样编译后外界无法获取程序的版本号




make && make install


编辑主配置文件




修改nginx缓存最大文件数为65535


检查刚才修改的文件是否正确
nginx -t  #检测语法
Nginx    #运行 nginx 
nginx -s reload  #重载主配置文件
nginx -s stop    #关闭 nginx


启动nginx

检测   宿主机访问  172.25.62.1   server1

以论坛模块为例数据库的连接
获得论坛模块解压Discuz_X3.2_SC_UTF8.zip

解压到指定目录下






重启php

给mysql数据文件的权限  

到此可以去真机浏览器输入:http://172.25.62.1/bbs/install/ 
点击同意开始安装

确认权限无误点击下一步

选择全新安装

输入数据库密码 管理员密码即可

到此安装完毕  点击由下加开始自己玩

输入刚才设置的admin密码  root 即可

在server1上也可以看见  show databases 就可以看见一个名为ultrax的数据库

Logo

更多推荐