Nginx的异常信息:Job for nginx.service failed because the control process exited with error code. See “systemctl status nginx.service” and “journalctl -xe” for details.
这是自己配SSL证书时报的错误,网上百度了蛮多的帖子,踩了蛮多坑的,大部分是说配置文件没有写错了(很多都是没有写;
分号),还有就是缺少依赖什么的,总之搞死自己了,最后才发现是小问题,现在来说一说我解决的步骤吧。
首先出现问题是重启或者重新加载nginx的配置文件出现的错误。
我们要明确一点就是自己服务器中Nginx的位置!!!
安装目录: /usr/local/nginx
源码包:/usr/local/nginx-1.9.9
查看后发现是源码包不见了!可能是当初我安装完之后立马rm了。
找到问题之后就好解决了。
①
// 1、首先在 usr/local/src 目录下执行
wget http://nginx.org/download/nginx-1.9.9.tar.gz
// 2、解压到当前目录
tar -zxvf nginx-1.9.9.tar.gz
// 3、进入nginx-1.9.9
cd nginx-1.9.9
② 此时我们需要安装SSL模块(/usr/local/src)
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
③ 编译:
make
④ 备份原来nginx配置文件
cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak
⑤ 保证nginx是关闭状态
nginx -s stop
⑥ 复制刚编译生成的配置覆盖原有的配置
cp ./objs/nginx /usr/local/nginx/sbin/
⑦ 启动nginx,在/usr/local/nginx这个目录执行命令
./sbin/nginx
到此你就成功的了,Nginx可以正常启动且无报错了,正常的配置你的HTTPS。
如果在途中出现了:
[emerg] 25302#0: unknown directive “ssl” in /usr/local/nginx/conf/nginx.conf:116
那就是你在上述步骤中在错误的目录下执行了安装ssl模块的操作。在对应的模块重新按步骤来即可。
如果是启动出现:
nginx: [emerg] the “ssl” parameter requires ngx_http_ssl_module in /usr/local/nginx/conf/nginx.conf:24
那就确确实实配置文件出错了,老老实实的去对应行数修改。