lnmp搭建

12.1 LNMP架构介绍
这里写图片描述
12.2 MySQL安装
在lamp基础上安装lnmp,需要先删除之前安装的mysql
检查mysql是否已经启动
ps -ef | grep mysql
rm -rf /usr/local/mysql
rm -fr /etc/init.d/mysqld
rm -rf /data/mysql/*
开始安装
•cd /usr/local/src
• wget http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.35-linux-glibc2.5-x86_64.tar.gz
• tar zxvf mysql-5.6.35-linux-glibc2.5-x86_64.tar.gz
• mv mysql-5.6.35-linux-glibc2.5-x86_64 /usr/local/mysql
• cd /usr/local/mysql
• useradd mysql
• mkdir /data/
• ./scripts/mysql_install_db –user=mysql –datadir=/data/mysql
echo $?
• cp support-files/my-default.cnf /etc/my.cnf
vim /etc/my.cnf
datadir=/data/mysql
socket=/tmp/mysql.sock

• cp support-files/mysql.server /etc/init.d/mysqld
• vi /etc/init.d/mysqld
basedir=/usr/local/mysql
datadir=/data/mysql
定义basedir和datadir
• /etc/init.d/mysqld start
这里写图片描述
chkconfig –add mysqld #添加服务列表中
chkconfig mysqld on #开机启动
service mysqld start

12.3/12.4 PHP安装
在lamp基础上需要先清除编译
cd php-5.6.30
make clean

•和LAMP安装PHP方法有差别,需要开启php-fpm服务
• cd /usr/local/src/
• wget http://cn2.php.net/distributions/php-5.6.30.tar.gz
• tar zxf php-5.6.30.tar.gz
• useradd -s /sbin/nologin php-fpm
• cd php-5.6.30
• ./configure –prefix=/usr/local/php-fpm –with-config-file-path=/usr/local/php-fpm/etc –enable-fpm –with-fpm-user=php-fpm –with-fpm-group=php-fpm –with-mysql=/usr/local/mysql –with-mysqli=/usr/local/mysql/bin/mysql_config –with-pdo-mysql=/usr/local/mysql –with-mysql-sock=/tmp/mysql.sock –with-libxml-dir –with-gd –with-jpeg-dir –with-png-dir –with-freetype-dir –with-iconv-dir –with-zlib-dir –with-mcrypt –enable-soap –enable-gd-native-ttf –enable-ftp –enable-mbstring –enable-exif –with-pear –with-curl –with-openssl
这里写图片描述
yum install -y libcurl-devel
•make && make install
/usr/local/php-fpm/sbin/php-fpm -m #查看模块信息
/usr/local/php-fpm/sbin/php-fpm -t #检查配置文件语法是否正确
/usr/local/php-fpm/sbin/php-fpm -i
/usr/local/php-fpm/bin/php -i #查看版本信息和上面的一样

• cp php.ini-production /usr/local/php-fpm/etc/php.ini
• vi /usr/local/php-fpm/etc/php-fpm.conf //写入如下内容(参考https://coding.net/u/aminglinux/p/aminglinux-book/git/blob/master/D15Z/php-fpm.conf
[global]
pid = /usr/local/php-fpm/var/run/php-fpm.pid
error_log = /usr/local/php-fpm/var/log/php-fpm.log
[www]
listen = /tmp/php-fcgi.sock
listen.mode = 666
user = php-fpm
group = php-fpm
pm = dynamic
pm.max_children = 50
pm.start_servers = 20
pm.min_spare_servers = 5
pm.max_spare_servers = 35
pm.max_requests = 500
rlimit_files = 1024
• cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
• chmod 755 /etc/init.d/php-fpm
• chkconfig –add php-fpm
• chkconfig php-fpm on
• service php-fpm start
• ps aux |grep php-fpm
这里写图片描述
12.5 Nginx介绍
在互联网公司,Nginx可以说是标配组件,但是主要场景还是负载均衡、反向代理、代理缓存、限流等场景;而把Nginx作为一个Web容器使用的还不是那么广泛。Nginx的高性能是大家公认的,而Nginx开发主要是以C/C++模块的形式进行,整体学习和开发成本偏高;如果有一种简单的语言来实现Web应用的开发,那么Nginx绝对是把好的瑞士军刀;目前Nginx团队也开始意识到这个问题,开发了nginxScript:可以在Nginx中使用JavaScript进行动态配置一些变量和动态脚本执行;而目前市面上用的非常成熟的扩展是由章亦春将Lua和Nginx粘合的ngx_lua模块,并且将Nginx核心、LuaJIT、ngx_lua模块、许多有用的Lua库和常用的第三方Nginx模块组合在一起成为OpenResty,这样开发人员就可以安装OpenResty,使用Lua编写脚本,然后部署到Nginx Web容器中运行。从而非常轻松就能开发出高性能的Web服务。

Nginx优点
Nginx设计为一个主进程多个工作进程的工作模式,每个进程是单线程来处理多个连接,而且每个工作进程采用了非阻塞I/O来处理多个连接,从而减少了线程上下文切换,从而实现了公认的高性能、高并发;因此在生成环境中会通过把CPU绑定给Nginx工作进程从而提升其性能;另外因为单线程工作模式的特点,内存占用就非常少了。
Nginx更改配置重启速度非常快,可以毫秒级,而且支持不停止Nginx进行升级Nginx版本、动态重载Nginx配置。
Nginx模块也是非常多,功能也很强劲,不仅可以作为http负载均衡,Nginx发布1.9.0版本还支持TCP负载均衡,还可以很容易的实现内容缓存、web服务器、反向代理、访问控制等功能。

2、Lua的优点
Lua是一种轻量级、可嵌入式的脚本语言,这样可以非常容易的嵌入到其他语言中使用。另外Lua提供了协程并发,即以同步调用的方式进行异步执行,从而实现并发,比起回调机制的并发来说代码更容易编写和理解,排查问题也会容易。Lua还提供了闭包机制,函数可以作为First Class Value 进行参数传递,另外其实现了标记清除垃圾收集。
因为Lua的小巧轻量级,可以在Nginx中嵌入Lua VM,请求的时候创建一个VM,请求结束的时候回收VM。

3、什么是ngx_lua
ngx_lua是Nginx的一个模块,将Lua嵌入到Nginx中,从而可以使用Lua来编写脚本,这样就可以使用Lua编写应用脚本,部署到Nginx中运行,即Nginx变成了一个Web容器;这样开发人员就可以使用Lua语言开发高性能Web应用了。
ngx_lua提供了与Nginx交互的很多的API,对于开发人员来说只需要学习这些API就可以进行功能开发,而对于开发web应用来说,如果接触过Servlet的话,其开发和Servlet类似,无外乎就是知道接收请求、参数解析、功能处理、返回响应这几步的API是什么样子的。

扩展
Nginx为什么比Apache Httpd高效:原理篇
http://www.toxingwang.com/linux-unix/linux-basic/1712.html

apache和nginx工作原理比较
http://www.server110.com/nginx/201402/6543.html

mod_php 和 mod_fastcgi以及php-fpm的比较
http://dwz.cn/1lwMSd

概念了解:CGI,FastCGI,PHP-CGI与PHP-FPM
http://www.nowamagic.net/librarys/veda/detail/1319/
https://www.awaimai.com/371.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值