nginx是一款轻量级web服务器,次要有负载平衡和反向代理的个性。
装置筹备
nginx
一些模块须要依赖lib
库,所以先装置lib
库,执行以下命令:
[root@localhost local]# yum -y install gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel
下载
- 在官网下载安装包
装置
-
解压文件:
tar -zxvf nginx-1.20.2.tar.gz
-
解压之后进入到nginx目录:
cd nginx-1.20.2
-
默认配置模块:
./configure
须要增加https
配置模块:
./configure --prefix=/usr/local/nginx --with-http_ssl_module
-
编译
make
-
装置
make install [门路,默认装置在usr/local门路下]
启动、敞开
# 启动
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
# 重启
/usr/local/nginx/sbin/nginx -s reload
# 敞开
/usr/local/nginx/sbin/nginx -s stop
每次启动或者重启服务都须要输出一大串门路,为了简化操作,配置一下
systemctl
服务。
配置systemctl
服务
-
在
/usr/lib/systemd/system
创立nginx.service
文件:vim /usr/lib/systemd/system/nginx.service
-
增加配置内容:
[Unit] Description=nginx After=network.target [Service] Type=forking ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf ExecReload=/usr/local/nginx/sbin/nginx -s reload ExecStop=/usr/local/nginx/sbin/nginx -s quit PrivateTmp=true [Install]
-
配置systemctl之后的启动形式
# 查问状态 systemctl status nginx # 启动 systemctl start nginx # 重启 systemctl restart nginx # 敞开 systemctl stop nginx # 设置开机启动 systemctl enable nginx
- 启动
nginx
,拜访http://127.0.0.1
,呈现如下页面阐明nginx
启动胜利:
配置
批改conf/nginx.conf
配置文件。
找到server
模块下的80
端口。
- 批改
server_name
前面的域名,我这里改成www.jeremy7.cn
。 -
在
location /
下增加proxy_pass
反向代理:proxy_pass http://wwwtomcat;
-
对应增加一个
upstream
模块,增加转发的门路:upstream wwwtomcat { server 127.0.0.1:8080; }
server {
listen 80;
server_name www.jeremy7.cn;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
proxy_pass http://wwwtomcat;
root html;
index index.html index.htm;
}
}
配置https
开启 443端口
server {
listen 443 ssl;
#配置HTTPS的默认拜访端口为443。
#如果未在此处配置HTTPS的默认拜访端口,可能会造成Nginx无奈启动。
#如果您应用Nginx 1.15.0及以上版本,请应用listen 443 ssl代替listen 443和ssl on。
server_name yourdomain.com; #须要将yourdomain.com替换成证书绑定的域名。
root html;
index index.html index.htm;
ssl_certificate cert/cert-file-name.pem; #须要将cert-file-name.pem替换成已上传的证书文件的名称。
ssl_certificate_key cert/cert-file-name.key; #须要将cert-file-name.key替换成已上传的证书密钥文件的名称。
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
#示意应用的加密套件的类型。
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #示意应用的TLS协定的类型。
ssl_prefer_server_ciphers on;
location / {
root html; #站点目录。
index index.html index.htm;
}
}
server_name
改成本人的申请的域名ssl_certificate
替换成.pem
后缀的证书文件ssl_certificate_key
替换成.key
后缀的证书文件-
location /
外面增加反向代理,也是下面的反向代理:proxy_pass http://wwwtomcat;
测试配置是否正确:
/usr/local/nginx/sbin/nginx -t
http强转https
server
模块增加配置
rewrite ^(.*)$ https://$host$1 permanent;#将http转成https
发表回复