您的位置:首页 > 运维架构 > Nginx

CentOS 6.5 Nginx 的编译安装、以及让nginx 支持 SSI 相对路径写法

2014-12-12 18:27 766 查看
1. nginx 下载

进入 http://nginx.org/en/download.html 下载,我是选择的 "Stable version" 稳定版本的下载

# wget http://nginx.org/download/nginx-1.6.2.tar.gz[/code] 
2. 解压编译安装

# tar -zxvf nginx-1.6.2.tar.gz
# cd nginx-1.6.2

安装一些nginx用到的依赖软件,如果不开启ssl可以不用安装openssl,回头用到时可以返回这里重新编译安装一遍即可
# yum -y install pcre-devel
# yum -y install openssl openssl-devel

下面这一步我是选择了  两个编译模块的选项
--with-http_stub_status_module 是用于监控自上次启动以来的工作状态
--with-http_ssl_module 是用于开启ssl支持https的选项
--prefix=/opt/nginx 这个是我的个人安装习惯,指定软件的安装目录

# ./configure --with-http_stub_status_module --with-http_ssl_module --prefix=/opt/nginx
# make
# make install


3. 关于SSI支持 相对路径的问题(如果没有ssi需求的,这一步就不需要再操作了)

  由于项目在本地开发用的是Apache/tomcat 的SSI支持,对于.shtml 中的 <!--#include virtual="../testr.shtml"--> 是支持 ../这种相对路径的,然而部署的时候采用的是nginx 的ssi,网上搜索了下 采取了一下的方法来解决:

从nginx的源文件中找到要修改的文件ngx_http_ssi_filter_module.c

# locate ngx_http_ssi_filter_module.c
# vim /home/test/nginx-1.6.2/src/http/modules/ngx_http_ssi_filter_module.c
文件中找到内容"ngx_http_parse_unsafe_uri" ,将这个注释掉,如下:

/**
if (ngx_http_parse_unsafe_uri(r, uri, &args, &flags) != NGX_OK) {
return NGX_HTTP_SSI_ERROR;
}
**/
# 然后按照第二步中的编译选项重新配置、编译、安装

# ./configure --with-http_stub_status_module --with-http_ssl_module --prefix=/opt/nginx
# make
# make install
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: