在未安装nginx的情况下安装nginx第三方模块

1
2
3
4
5
6
7
8
# ./configure --prefix=/usr/local/nginx-1.4.1 \
--with-http_stub_status_module \
--with-http_ssl_module --with-http_realip_module \
--with-http_p_w_picpath_filter_module \
--add-module=.. /ngx_pagespeed-master  --add-module=/第三方模块目录
# make
# make isntall
# /usr/local/nginx-1.4.1/sbin/nginx

在已安装nginx情况下安装nginx模块

1
2
3
4
5
6
7
8
9
# ./configure --prefix=/usr/local/nginx-1.4.1 \
  --with-http_stub_status_module \
  --with-http_ssl_module --with-http_realip_module \
  --with-http_p_w_picpath_filter_module \
  --add-module=.. /ngx_pagespeed-master
# make
# /usr/local/nginx-1.4.1/sbin/nginx -s stop
# cp objs/nginx /usr/local/nginx/sbin/nginx
# /usr/local/nginx-1.4.1/sbin/nginx



默认情况下ssl模块并未被安装,如果要使用该模块则需要在编译时指定–with-http_ssl_module参数,安装模块依赖于OpenSSL库和一些引用文件,通常这些文件并不在同一个软件包中。通常这个文件名类似libssl-dev。

生成证书

可以通过以下步骤生成一个简单的证书:
首先,进入你想创建证书和私钥的目录,例如:

  1. $ cd /usr/local/nginx/conf

创建服务器私钥,命令会让你输入一个口令:

  1. $ openssl genrsa -des3 -out server.key 1024

创建签名请求的证书(CSR):

  1. $ openssl req -new -key server.key -out server.csr

在加载SSL支持的Nginx并使用上述私钥时除去必须的口令:

  1. $ cp server.key server.key.org

  2. $ openssl rsa -in server.key.org -out server.key

配置nginx

最后标记证书使用上述私钥和CSR:

  1. $ openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

修改Nginx配置文件,让其包含新标记的证书和私钥:

  1. server {

  2.     server_name YOUR_DOMAINNAME_HERE;

  3.     listen 443;

  4.     ssl on;

  5.     ssl_certificate /usr/local/nginx/conf/server.crt;

  6.     ssl_certificate_key /usr/local/nginx/conf/server.key;

  7. }

重启nginx。