java开发之Nginx安装配置以及访问https域名报错的解决方法

本文介绍了Nginx安装配置过程以及访问https域名缺少SSL模块的解决方法

一.Nginx配置

1.下载1.18的版本的nginx压缩包nginx-1.18.0.tar.gz,点击链接下载:nginx官网安装包地址

2.添加nginx需要的编译环境

1
$ yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel

3.进入nginx的压缩包所在文件

1
$ cd /usr/local

4.解压nginx压缩包

1
$ tar -zxvf nginx-1.18.0.tar.gz

5.进入解压文件中

1
$ cd nginx-1.18.0

注意:输入ls命令,查看当前文件内容(路径/usr/local/nginx-1.18.0),此时没有Makefile文件
auto CHANGES CHANGES.ru conf configure contrib html LICENSE man objs README src

6.执行configure命令,添加安装nginx配置信息

1
$ ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-openssl-opt="enable-tlsext"

7.执行make,进行编译

1
$ make

8.执行make install,进行安装

1
$ make install

注意:此时在当前文件下(路径/usr/local/nginx-1.18.0),会生成一个Makefile文件,以及创建了一个新的nginx文件(路径:/usr/local/nginx),nginx主要信息配置与服务启动停止,在/usr/local/nginx中操作
auto CHANGES CHANGES.ru conf configure contrib html LICENSE Makefile man objs README src

9.进入nginx的sbin目录(/usr/local/nginx/sbin),并启动nginx

1
2
3
$ cd /usr/local/nginx/sbin
// 启动
$ ./nginx

在浏览器地址栏输入自己服务器的ip地址可以看到nginx主界面
nginx.png

二.Nginx常用命令

查看nginx版本以及nginx安装配置信息(大写V)
./nginx -V
刷新nginx配置文件信息,并重启
./nginx -s reload
停止nginx服务
./nginx -s stop
查看nginx服务的进程信息
ps aux|grep nginx
验证nginx配置文件格式是否正确
./nginx -t

三.https缺少SSL模块,额外添加SSL模块(非重新安装nginx)

由于访问https域名配置了ssl,启动nginx报错:缺少ssl模块,如下:

1
nginx: [emerg] the “ssl” parameter requires ngx_http_ssl_module in /usr/local/nginx/conf/nginx.conf:37

需要在之前的配置基础上,添加ssl模块.
步骤是:在解压文件中(/usr/local/nginx-1.18.0),添加需要的ssl模块配置信息,通过make命令编译,备份/usr/local/nginx/sbin/中的nginx文件,备份文件为nginx.bak,把解压文件中重新编译过的niginx文件(/usr/local/nginx-1.18.0/objs/niginx),替换/usr/local/nginx/sbin中的nginx文件,重新启动nginx.

1.进入nginx的解压包位置

1
$ cd /usr/local/nginx-1.18.0

2.执行configure命令

./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-openssl-opt="enable-tlsext"

3.执行make命令(不要执行make install)

1
$ make

4.备份旧的nginx文件,拷贝到/usr/local/nginx/sbin路径下,并命名为:nginx.bak

1
$ cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak

5.进入objs文件

1
$ cd objs

6.在将新的nginx复制过去

1
$ cp ./objs/nginx /usr/local/nginx/sbin/

7.切到你nginx安装目录下的sbin 文件下

1
$ cd /usr/local/nginx/sbin

8.查看你安装的模块是否安装成功

1
./nginx -V

查看configure arguments的参数,如果显示configure arguments: --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-openssl-opt=enable-tlsext--with-http_ssl_module已经添加上了,重新启动nginx即可.

9.启动nginx

1
./nginx