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

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

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理