环境:CentOs 7
1、下载nginx
The CentOS Project 下载稳定版
创建文件夹
[root@localhost ~]# cd /usr/local
[root@localhost local]# mkdir nginx
移动安装包到指定目录:
[root@localhost lss]# cd /tmp/mozilla_lss0/
[root@localhost mozilla_lss0]# mv nginx-1.20.2.tar.gz /usr/local/nginx
2、安装依赖
安装gcc环境
yum install gcc-c++ -y
安装PCRE库,用于解析正则表达式
yum install pcre pcre-devel -y
安装zlib,压缩和解压缩依赖
yum install zlib zlib-devel -y
安装SSL,安全的加密的套接字协议层,用于HTTP安全传输,也就是https
yum install openssl openssl-devel -y
3、解压文件
tar -zxvf nginx-1.20.2.tar.gz
创建nginx临时目录,防止安装出错
mkdir /var/temp/nginx -p
4、make 编译
进入到解压好的nginx文件夹
cd nginx-1.20.2/
自定义配置
$ ./configure \ --prefix=/usr/local/nginx \ --conf-path=/usr/local/nginx/conf/nginx.conf \ --pid-path=/var/run/nginx/nginx.pid \ --lock-path=/var/lock/nginx.lock \ --error-log-path=/var/log/nginx/error.log \ --http-log-path=/var/log/nginx/access.log \ --with-http_gzip_static_module \ --http-client-body-temp-path=/var/temp/nginx/client \ --http-proxy-temp-path=/var/temp/nginx/proxy \ --http-fastcgi-temp-path=/var/temp/nginx/fastcgi \ --http-uwsgi-temp-path=/var/temp/nginx/uwsgi \ --http-scgi-temp-path=/var/temp/nginx/scgi \ --with-http_stub_status_module \ --with-http_ssl_module
make 编译
make
5、运行、执行命令
查看nginx文件
[root@localhost nginx-1.20.2]# whereis nginx
nginx: /usr/local/nginx
去到执行文件夹
[root@localhost nginx-1.20.2]# cd /usr/local/nginx
[root@localhost nginx]# ll
total 1044
drwxr-xr-x. 2 root root 4096 Apr 22 14:03 conf
drwxr-xr-x. 2 root root 40 Apr 22 14:03 html
drwxr-xr-x. 9 1001 1001 186 Apr 22 13:56 nginx-1.20.2
-r--------. 1 lss lss 1062124 Apr 22 13:14 nginx-1.20.2.tar.gz
drwxr-xr-x. 2 root root 19 Apr 22 14:03 sbin
[root@localhost nginx]# cd sbin
[root@localhost sbin]# pwd
/usr/local/nginx/sbin
启动./nginx
停止./nginx -s stop
优雅停止./nginx -s quit
刷新./nginx -s reload
6、配置https
1、sbin目录下,输入
[root@localhost sbin]# ./nginx -V
确保出现 (configure arguments: --with-http_ssl_module)
2、配置ssl证书
使用OpenSSL生成密钥、证书文件
[root@localhost ~]# openssl genrsa -des3 -out Server.key 1024
需要输入组织信息,留空输入点(.),而非直接回车(用缺省值)
[root@localhost ~]# openssl req -new -key Server.key -out Cert.csr
移除、签署自己的证书
[root@localhost ~]# cp Server.key Server.key.org
[root@localhost ~]# openssl rsa -in Server.key.org -out Server.key
Enter pass phrase for Server.key.org:
writing RSA key
[root@localhost ~]# openssl x509 -req -days 365 -in Cert.csr -signkey Server.key -out Cert.crt
Signature ok
subject=/C=CN/ST=shanxi/L=shanxi/O=shanxi/OU=shanxi/CN=ss/emailAddress=123456@qq.com
Getting Private key
配置Nginx配置文件nginx.conf
server { # 监听ssl 443端口 listen 443 ssl; # 配置服务名称 server_name localhost; # 能够支持的SSL协议 ssl_protocols SSLv2 SSLv3 TLSv1; # 配置生成文件的目录地址 ssl_certificate /root/Cert.crt; ssl_certificate_key /root/Server.key; # 设置ssl/tls会话缓存的类型和大小 ssl_session_cache shared:SSL:1m; # 客户端可以重用会话缓存中ssl参数的过期时间 ssl_session_timeout 5m; # 选择加密套件 ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP; # 设置协商加密算法时,优先使用我们服务端的加密套件 ssl_prefer_server_ciphers on; } # 实现http跳转https功能 server{ listen 80; server_name yourdomain.com; rewrite ^(.*)$ https://$host$1; location / { index index.html index.htm; } }
重启nginx
[root@localhost sbin]# ./nginx
7、网页访问本地地址
使用域名或者IP
8、wireshark抓包
注意事项:换成root用户在命令行打开wireshark,选择lookback0接口