关于java:Centos7安装Nginx教程一步安装http和https

41次阅读

共计 2345 个字符,预计需要花费 6 分钟才能阅读完成。

nginx 是一款轻量级 web 服务器,次要有负载平衡和反向代理的个性。

装置筹备

nginx一些模块须要依赖 lib 库,所以先装置 lib 库,执行以下命令:

[root@localhost local]# yum -y install gcc-c++  pcre pcre-devel  zlib zlib-devel  openssl openssl-devel

下载

  1. 在官网下载安装包

装置

  1. 解压文件:

    tar -zxvf nginx-1.20.2.tar.gz
  2. 解压之后进入到 nginx 目录:

    cd nginx-1.20.2
  3. 默认配置模块:

    ./configure

须要增加 https 配置模块:

./configure --prefix=/usr/local/nginx --with-http_ssl_module
  1. 编译

    make
  2. 装置

    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 服务

  1. /usr/lib/systemd/system 创立 nginx.service 文件:

    vim /usr/lib/systemd/system/nginx.service
  2. 增加配置内容:

    [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

正文完
 0