一、搭建
服务器环境:操作系统:CentOS7,16G内存,8核cpu
安装软件版本: ,php5.6,php-fpm,nginx1.8.1,openresty-1.9.3
安装位置:/nginxLua
openresty所在目录:/nginxLua/openresty
nginx所在目录:/nginxLua/openresty/nginx
nginx.conf所在目录:/nginxLua/openresty/nginx/conf
nginx启动项所在目录:/nginxLua/openresty/nginx/sbin/nginx
linux内核参数配置项(sysctl.conf):/etc/sysctl.conf
php-fpm.conf所在:/etc/php-fpm.conf
php-fpm配置项:/etc/php-fpm.d/www.conf
web目录:/web/html
lua代码目录:/web/lua
什么是openresty?Openresty是一款nginx+lua的集成包,在目前相对lua扩展不是很健全,openresty是一个很好的选择,里面集成lua的基本模板
什么是lua?Lua详细的可以百度,作用就是结合nginx可以实现非常高并发的接口,所以lua主要是用来写接口
什么是nginx?一种类似apache的web服务器,强大的负载均衡和高并发,epoll的高效处理模式是它的优势,但其实他处理php的速度是跟apache不相上下的,但整体来说效率还是比apache快很多,因为他的异步非阻塞的处理机制
编译安装openresty 下载安装包(ngx_openresty-1.9.3.1.tar.gz解压密码:0516) 把压缩包拷到服务器上进行解压(创建一个文件夹openresty)tar -zxvf ngx_openresty-1.9.3.1.tar.gz -C /openresty
在编译之前你需要安装一些基本的依赖包yum update
yum -y install gcc gcc-c++ autoconf automake
yum -y install zlib zlib-devel openssl openssl-devel pcre-devel readline-devel
yum -y install make
开启:/nginxLua/openrety/nginx/sbin/nginx
关闭:/nginxLua/openrety/nginx/sbin/nginx -s stop
平滑关闭 /nginxLua/openrety/nginx/sbin/nginx -s quit
重新加载配置 /nginxLua/openrety/nginx/sbin/nginx -s reload
firewall-cmd –permanent –query-port=9000/tcp 查看是否开启9000端口
firewall-cmd –permanent –add-port=9000/tcp 添加防火墙对9000端口开放
systemctl start firewalld.service 开启防火墙
systemctl stop firewalld.service 禁止使用防火墙
firewall-cmd –reload 防火墙配置加载
/usr/sbin/php-fpm -c /etc/php.ini 启动
kill -SIGUSR2 cat /run/php-fpm/php-fpm.pid 重启
kill -SIGINT cat /run/php-fpm/php-fpm.pid 关闭
./configure –prefix=/openresty
–with-luajit
–with-http_iconv_module
–with-http_postgres_module
make && make install
测试是否安装成功开启nginx: /openresty/openrety/nginx/sbin/nginx
修改配置文件:vi /openresty/openresty/conf/nginx.conf
在配置文件中的server中加一个location:
location /lua {
default_type ‘text/html’;
content_by_lua‘
ngx.say(“hellow,word”)
’;
}
开启nginx服务:/openresty/openrety/nginx/sbin/nginx
curl 127.0.0.1/lua
可以看到结果:hellow,word 说明nginx加lua已经编译安装好了
安装php-5.6
添加yum源
CentOs 5.x
rpm -Uvh
CentOs 6.x
rpm -Uvh
CentOs 7.X
rpm -Uvh https://mirror.webtatic.com/yum/el7/epel-release.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
yum -y install php56w.x86_64 php56w-cli.x86_64 php56w-common.x86_64 php56w-gd.x86_64 php56w-ldap.x86_64 php56w-mbstring.x86_64 php56w-MySQL.x86_64 php56w-pdo.x86_64 php56w-pear.noarch php56w-process.x86_64 php56w-xml.x86_64 php56w-xmlrpc.x86_64
安装php56w-fpm (nginx编译php文件的关键)yum install php56w-fpm -y
配置nginx支持编译php文件(编辑nginx.conf)location ~ .php(.*){
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_split_path_info ^(.+.php)(.*) ;//支持thinkphp路由规则的重要配置
fastcgi_param SCRIPT_FILENAME documentroot fastcgi_script_name;
fastcgi_param PATH_INFO fastcgipathinfo;fastcgiparamPATHTRANSLATED document_root$fastcgi_path_info;
include fastcgi_params;
}