码迷,mamicode.com
首页 > 其他好文 > 详细

(一)nginx部署记录

时间:2017-12-14 03:39:49      阅读:114      评论:0      收藏:0      [点我收藏+]

标签:open   bin   ref   pat   ati   location   项目   reload   events   

在实际生产环境中

1、部署第一个nginx

(1)部署openresty

mkdir -p /opt/sys/nginx
cd /opt/sys/nginx

yum install -y readline-devel pcre-devel openssl-devel gcc

wget http://openresty.org/download/ngx_openresty-1.7.7.2.tar.gz
tar -xzvf ngx_openresty-1.7.7.2.tar.gz
cd /usr/servers/ngx_openresty-1.7.7.2/

cd bundle/LuaJIT-2.1-20150120/
make clean && make && make install
ln -sf luajit-2.1.0-alpha /usr/local/bin/luajit

cd bundle
wget https://github.com/FRiCKLE/ngx_cache_purge/archive/2.3.tar.gz
tar -xvf 2.3.tar.gz

cd bundle
wget https://github.com/yaoweibin/nginx_upstream_check_module/archive/v0.3.0.tar.gz
tar -xvf v0.3.0.tar.gz

cd /usr/servers/ngx_openresty-1.7.7.2
./configure --prefix=/opt/sys/nginx --with-http_realip_module --with-pcre --with-luajit --add-module=./bundle/ngx_cache_purge-2.3/ --add-module=./bundle/nginx_upstream_check_module-0.3.0/ -j2

make && make install

cd /opt/sys/nginx


/opt/sys/nginx/luajit
//opt/sys/nginx/lualib
/opt/sys/nginx/nginx
/opt/sys/nginx/nginx/sbin/nginx -V

启动nginx: /opt/sys/nginx/nginx/sbin/nginx

(2)nginx+lua开发的hello world

vi /usr/servers/nginx/conf/nginx.conf

在http部分添加:

lua_package_path "/opt/sys/nginx/lualib/?.lua;;";
lua_package_cpath "/opt/sys/nginx/lualib/?.so;;";


/opt/sys/nginx/nginx/conf下,创建一个lua.conf

server {
listen 8000;
server_name _;
location /lua {
default_type ‘text/html‘;
content_by_lua ‘ngx.say("hello nginx")‘;
}
}

在nginx.conf的http部分添加:

include lua.conf;

验证配置是否正确:

/usr/servers/nginx/sbin/nginx -t

在lua.conf的server部分添加:

location /lua {
default_type ‘text/html‘;
content_by_lua ‘ngx.say("hello world")‘;
}

/opt/sys/nginx/nginx/sbin/nginx -t

重新nginx加载配置

/opt/sys/nginx/nginx/sbin/nginx -s reload

访问http: http://192.168.28.128/lua

vi /opt/sys/nginx/nginx/conf/lua/test.lua

ngx.say("hello world");

修改lua.conf

location /lua {
default_type ‘text/html‘;
content_by_lua_file conf/lua/test.lua;
}

查看异常日志

tail -f /opt/sys/nginx/nginx/logs/error.log

(3)工程化的nginx+lua项目结构

项目工程结构

hello
hello.conf
lua
hello.lua
lualib
*.lua
*.so

放在/usr/hello目录下

/opt/sys/nginx/nginx/conf/nginx.conf

worker_processes 2;

error_log logs/error.log;

events {
worker_connections 1024;
}

http {
include mime.types;
default_type text/html;

lua_package_path "/usr/hello/lualib/?.lua;;";
lua_package_cpath "/usr/hello/lualib/?.so;;";
include /usr/hello/hello.conf;
}

/usr/hello/hello.conf

server {
listen 80;
server_name _;

location /lua {
default_type ‘text/html‘;
lua_code_cache off;
content_by_lua_file /usr/example/lua/test.lua;
}
}

 

(一)nginx部署记录

标签:open   bin   ref   pat   ati   location   项目   reload   events   

原文地址:http://www.cnblogs.com/wdwyy/p/8035275.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!