一、下载安装包
1.下载nginx安装包
wget http://nginx.org/download/nginx-1.10.3.tar.gz
2.下载NDK安装包
wget https://github.com/simpl/ngx_devel_kit/tarball/master -O ngx_devel_kit.tar.gz
3.下载LuaJIT安装包
wget http://luajit.org/download/LuaJIT-2.0.5.tar.gz
4.下载ngx-lua模块
wget https://github.com/openresty/lua-nginx-module/archive/v0.10.13.tar.gz -O lua-nginx-module-0.10.13.tar.gz
5.其他ngx第三方模块
#ngx支持断点续传模块 #nginx-upload-module此版本太新,如果make出错就用下面的那个 wget https://github.com/fdintino/nginx-upload-module/archive/2.2.0.tar.gz -O nginx-upload-module-2.2.0.tar.gz #nginx-upload-module老版本 wget https://github.com/hongzhidao/nginx-upload-module/archive/master.zip #清除静态缓存模块 wget http://labs.frickle.com/files/ngx_cache_purge-2.3.tar.gz
二、前置安装
1. 创建nginx worker进程的运行用户
groupadd -g 1001 nginx useradd -g 1001 -u 1001 -s /sbin/nologin nginx
2. 检测系统安装包
#检测是否有gcc编译器 rpm -qa | grep gcc || yum install gcc #检测是否有openssl-devel,ngx依赖此安装包来支持ssl功能 rpm -qa | grep openssl-devel || yum install openssl-devel #检测是否有pcre-devel,ngx依赖此安装包来支持rewrite功能 rpm -qa | grep pcre-devel || yum install pcre-devel #检测是否有gd-devel,ngx依赖此安装包来支持图片处理功能 rpm -qa | grep gd-devel || yum install gd-devel #安装LuaJit解释器,ngx需此解释器解释lua代码 tar -xzf LuaJIT-2.0.5.tar.gz cd LuaJIT-2.0.5 make && make install
安装LuaJIT时注意制定目录,要不然其他nginx报错
make install PREFIX=/usr/local/luajit
三、安装步骤
#解压相关安装包 tar -xzf *.tar.gz #编译安装 cd nginx-1.10.3 ./configure --prefix=/usr/local/nginx --with-stream --with-http_stub_status_module --with-http_image_filter_module --with-http_ssl_module --user=nginx --group=nginx --with-pcre --add-module=../simplresty-ngx_devel_kit-a22dade/ --add-module=../ngx_cache_purge-2.3 --add-module=../lua-nginx-module-0.10.13 --add-module=../nginx-upload-module-2.2.0 make make install
如果make报错openssl,那么有可能openssl升级过,请找到升级后的openssl路径,如下(增加):
先查找下openssl的位置:find / -name openssl*,得到地址后,增加如下
./configure --prefix=/usr/local/nginx2 --with-stream --with-openssl=/root/openssl-1.0.1g --with-http_stub_status_module --with-http_image_filter_module --with-http_ssl_module --user=nginx --group=nginx --with-pcre --add-module=../simplresty-ngx_devel_kit-a22dade/ --add-module=../ngx_cache_purge-2.3 --add-module=../lua-nginx-module-0.10.13 --add-module=../nginx-upload-module-master
安装完nginx后,检查nginx:
/usr/local/nignx/sbin/nginx -t
如果没错,就继续往下执行,如果有报错,报错如下:
./sbin/nginx -t 如果出现error: error while loading shared libraries: libluajit-5.1.so.2: cannot open shared object file: No such fil
解决方案:
export LD_LIBRARY_PATH=/usr/local/luajit/lib:$LD_LIBRARY_PATH 从新编译编译 luajit的时候 make install PREFIX=/usr/local/luajit
安装好后,执行,要不然启动,报找不到pid
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
nginx.conf配置,其他的默认注意这里面的,php配置,端口监听,http/ip配置即可:
server { listen 81; server_name 192.168.2.66; #charset koi8-r; #access_log logs/host.access.log main; location / { root /home/html2/; index index.html index.htm index.php; } #error_page 404 /404.html; # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; #location = /50x.html { # root html; #} # proxy the PHP scripts to Apache listening on 127.0.0.1:80 # #location ~ \.php$ { # proxy_pass http://127.0.0.1; #} # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 # location ~ \.php$ { root /home/html2/; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; #fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; #include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } # deny access to .htaccess files, if Apache's document root # concurs with nginx's one # #location ~ /\.ht { # deny all; #} }