搭建nginx环境

搭建nginx环境

###安装测试目录:/data/nginx



###luajit的安装和配置

	#git clone http://luajit.org/git/luajit-2.0.git

	#make && make install



###nginx的安装和配置

	http://nginx.org/en/download.html下载安装包

	#tar zxvf nginx-1.4.1.tar.gz

	下载第三方模块

	lua-nginx-module 				
git clone https://github.com/chaoslawful/lua-nginx-module.git


	echo-nginx-module				
git clone https://github.com/agentzh/echo-nginx-module.git


	ngx_devel_kit		
git clone https://github.com/simpl/ngx_devel_kit.git




	#tar xzvf pcre-8.33.tar.gz ==>不需要安装

	#./configure

	#make && make install

	

	#tar xzvf zlib-1.2.8.tar.gz ==>不需要安装

	#./configure

	#make && make install



	#tar xzvf openssl-1.0.1e.tar.gz ==>不需要安装

	#./configure

	#make && make install



	must install FastDFS first!

	#./configure --prefix=/data/nginx \

		--add-module=../nginx-module/lua-nginx-module \

		--add-module=../nginx-module/ngx_devel_kit \

                --with-pcre=../pcre-8.33 \

                --with-zlib=../zlib-1.2.8


	#make && make install



	# ./sbin/nginx 

		./sbin/nginx: error while loading shared libraries: libluajit-5.1.so.2: cannot open shared object file: No such file or directory



	# ldd ../sbin/nginx

		libluajit-5.1.so.2 => not found



	#whereis libluajit-5.1.so.2

		libluajit-5.1.so: /usr/local/lib/libluajit-5.1.so /usr/local/lib/libluajit-5.1.so.2

	

	因为安装在缺省路径,所以LuaJIT对应的libinclude均在/usr/local目录里,nginx默认查找/usr/lib/usr/include/lib,做以下操作即可

	#ln -s /usr/local/lib/libluajit-5.1.so.2 /usr/lib/libluajit-5.1.so.2

	#ln -s /usr/local/lib/libluajit-5.1.so.2.0.2 /usr/lib/libluajit-5.1.so.2.0.2

	#ldconfig

	#ldd ./sbin/nginx

	#./sbin/nginx

		替换掉./conf/nginx.conf文件

	#./sbin/nginx  -s reload

	如果还是报require找不到文件***.lua,请在***.lua所在的工作目录下启动nginx





==>开发中根据需求还要安装:



安装luaSocket
	安装LuaSocket前需要安装lua解释器,lua5.1lua5.2均可,这里需要说明的是这里必须自己下载源码,自己编译后安装,系统自带或下载安装包安装的均无法进行luaSocket的安装,原因是,luasocket在调用的时候是lua加载C的动态库. 这个可以从luasocketmakefile看的出来.这些完成后,下载luaSocket源码,然后make,啊。。。。。,你会发现报了很多错误,因为它还需要依赖一些库文件,
解决办法为:yum install libtermcap-devel ncurses-devel libevent-devel readline-devel
附:lua5.1源码:http://www.lua.org/ftp/
	luaSocket源码:http://luaforge.net/frs/download.php/2664/luasocket-2.0.2.tar.gz


安装完成后测试一下socket包是否可用,测试方法为:lua --进去lua解释器里面-->require(“socket”)  回车后没有提示错误即为成功了

接下来重新启动一下服务器,方法就不多说了,还会报缺少luasql模块的错误,很蛋疼呦,好吧,那就一次将它们全部解决掉,去open/lib,一看,啊...,原来宝贝都在这里,make一下就万事大吉了,好吧,收住高兴的心,敲下make命令,发现没有那么简单,会报ccmake没有安装,嗯,这是个问题,先学一下yum命令,yumcentos所专有的安装命令,限于篇幅,这里只介绍两个参数 listinstallinstall自然是安装参数了,list是查找命令,那要是不确定要查找什么命令呢,没事,用*,假如上面就可以写成*cmake*,所以先  yum list * cmake *, 会列出相关的包,选一个你需要的,然后yum install xxxxx,至于选那个嘛,就留给聪明的你了,然后还会提示什么*uuid*没安装,方法都已经有了,再罗嗦,大家在心里该叫我唐僧了。哦,忘记了,还有一个问题:安装好这些后还会报错,根据错误提示,将group_nginx.conf中的前面部分修改为:init_worker_by_lua_file,至于为什么自己去问百度老师吧(其实我也不怎么清楚,嘿嘿!)。

然后就大胆的启动服务器吧,如果不出什么意外,就可以运行了。注:能运行的特征是没有错误。
然后开始运行自己的API,首先说一下需要将三个文件放到安装nginx目录下:group_nginx.conf cfg.lua  srvip.luagroup_nginx.conf是启动nginx的启动配置文件,nginx有它的默认启动配置文件,但很显然它的那个默认的不符合咱们的要求,因此咱们需要自己搞一个,所以就需要它了。 cfg.lua里面记录你写的api的链接文件和初始化文件(注:你只需要打开你需要的或正在测试的,其他的需要注释掉,否则会报错),还有一些日志的级别等。
然后就到test文件里面测试自己的API,如果仍然报错,授人与鱼不如授人与渔嘛,这里我就说一下出错以后的解决办法:出错后首先不要害怕 恐惧,当然也不要太高兴,首先要做的的是分析问题,从哪里分析呢,从两个地方分析:一是错误提示,根据错误提示大致定位为是系统缺少模块或是代码有问题,二是根据日志,先说一下nginx的日志,nginx会打印三个日志:error日志 access日志 static_system日志(这个日志是根据cfg.luaSTATLOG = true这个参数来设置)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值