LNMP搭建及详解
Lnmp架构Lnmp(web应用软件组合)Linux+Nginx+Mysql/MariaDB+Perl/PHP/Python一组常用来搭建动态网站或者服务器的开源软件,本身都是各自独立的程序,但是因为常被放在一起使用,拥有了越来越高的兼容度,共同组成了一个强大的Web应用程序平台。LAMP的架构以及通信过程Lnmp是一个cs架构的平台(client/server架构,即客户端/服务器架...
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的数据库
更多推荐
所有评论(0)