为nginx添加SSL支持模块

栏目: 服务器 · Nginx · 发布时间: 8年前

内容简介:为nginx添加SSL支持模块

转载请注明出处: http://www.codelast.com/

因为网站要加SSL证书的原因,把nginx折腾了一番,结果SSL相关的配置加到了nginx的配置文件中后,nginx竟然启动不起来了,用 systemctl status nginx 查看到的错误信息大致如下:

Failed to start SYSV: Nginx is an HTTP(S) server, HTTP(S) reverse ...

于是用如下命令测试问题所在:

/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

其中,/usr/local/nginx/sbin/nginx 的我的nginx安装后的可执行程序路径,/usr/local/nginx/conf/nginx.conf 是我的nginx主配置文件路径。

该命令输出如下:

nginx: [emerg] the "ssl" parameter requires ngx_http_ssl_module in /usr/local/nginx/conf/nginx.conf:41

可见,nginx缺少SSL模块支持。这是因为我当年建站的时候根本没有使用SSL啊,所以以前编译nginx的时候使用了不带SSL支持的默认编译参数。

为了让nginx添加SSL模块,只能重新编译它。但是,如何在现有nginx的基础上,添加一个支持SSL的编译参数呢?首先要找回原来编译nginx时的编译参数,然后再加上支持SSL的编译参数。如果不这样做,那么编译出来的nginx可能就会有问题(某些旧的编译参数被去掉了,使得nginx不能支持某些功能)。

文章来源: http://www.codelast.com/

所以先查看旧的nginx的编译参数:

/usr/local/nginx/sbin/nginx -V

输出的信息中,最重要的一句是:

configure arguments: --prefix=/usr/local/nginx

可见,当时我编译nginx的时候,只是指定了一个安装路径,没有其他特殊的编译参数。那么现在事情就好办了:回到nginx的源码目录下,加上SSL支持参数重新编译:

./configure --prefix=/usr/local/nginx --with-http_ssl_module
make

注意,此时千万不能手快直接 make install !因为我原来的nginx还有一堆的配置文件,不能被覆盖。我们应该只覆盖编译出来的nginx可执行程序:

cp /usr/local/nginx/sbin/nginx ~/
cp objs/nginx /usr/local/nginx/sbin/

其中,objs/nginx 是新编译出来的nginx可执行程序。

覆盖之后,再尝试重新启动nginx,就没有问题了。


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

C程序设计题解与上机指导

C程序设计题解与上机指导

谭浩强 / 清华大学 / 2000-9-1 / 19.50元

《C程序设计题解与上机指导(第2版)》是和谭浩强编著的《C程序设计》(第二版)(清华大学出版社1999年出版)配合使用的参考书,内容包括:(1)《程序设计》(第二版)一书的习题和参考解答,包括了该书各章的全部习题,共约150题,对全部编程题都给出了参考解答;(2)上机指南,详细介绍了在当前广泛使用的Turbo C集成环境下编辑、编译、调试和运行程序的方法,并简要介绍了Borland C++的使用方......一起来看看 《C程序设计题解与上机指导》 这本书的介绍吧!

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

html转js在线工具
html转js在线工具

html转js在线工具

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具