首页 > 系统相关 >Linux下Nginx安装并开启SSL

Linux下Nginx安装并开启SSL

时间:2024-06-15 17:21:07浏览次数:14  
标签:ssl server Nginx html proxy nginx Linux SSL

Linux下Nginx安装并开启SSL

一. 下载nginx

Nginx download

下载后上传至服务器。PS: 博主使用的Nginx版本为: nginx-1.23.4.tar.gz

二. 安装Nginx所需要的环境

1. 安装gcc-c++

yum install gcc-c++
yum install -y openssl openssl-devel

2. 安装pcre包

yum install -y pcre pcre-devel

3. 安装zlib包

yum install -y zlib zlib-devel

三. 安装Nginx

1. 解压Nginx包

# 进入Nginx包存放的目录
tar -zxvf nginx-1.23.4.tar.gz

2. 进入Nginx目录配置

使用nginx默认配置,并配置ssl

./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-stream

3. 编译安装

make
make install

4. 启动

# 进入nginx的sbin目录下
# 启动
./nginx

# 重启
./nginx -s reload

# 停止
./nginx -s stop

5. 设置开机自启动

把nginx加入到系统服务中

vim /etc/systemd/system/nginx.service

加入下面内容

[Unit]
Description=Nginx HTTP Server
After=network.target

[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s stop
PrivateTmp=true

[Install]
WantedBy=multi-user.target

重新加载systemd 配置文件

systemctl daemon-reload

6. Nginx 常用命令

# 启动
systemctl start nginx

# 关闭
systemctl stop nginx

# 重启
systemctl restart nginx

# 查看状态
systemctl status nginx

# 设置开机自启动
systemctl enable nginx

#关闭开机自启动
systemctl disabled nginx

四. nginx配置文件

1. 配置SSL证书

server {
        listen       443 ssl;
        server_name  www.baidu.com;
        ssl_certificate     www.baidu.com.pem; # SSL证书pem文件
        ssl_certificate_key www.baidu.com.key; # SSL证书key证书

        ssl_session_cache    shared:SSL:1m;

        ssl_session_timeout  5m;
        ssl_ciphers  HIGH:!aNULL:!MD5;
        ssl_prefer_server_ciphers  on;

        location / {
            proxy_pass http://localhost:9031/;   #转发请求的地址
            proxy_connect_timeout 6000;     #链接超时设置
            proxy_read_timeout 6000;        #访问接口超时设置
        }
        location /profile/ {
            alias /home/gvdphome/uploadPath/;
            expires 30d; # 设置缓存过期时间
            add_header Cache-Control "public";
        }
    }

2. 设置静态资源代理路径

server {
        listen       443 ssl; # 端口
        server_name  www.baidu.com; # 域名
        ssl_certificate     www.baidu.com.pem; # SSL证书pem文件
        ssl_certificate_key www.baidu.com.key; # SSL证书key证书

        ssl_session_cache    shared:SSL:1m;

        ssl_session_timeout  5m;
        ssl_ciphers  HIGH:!aNULL:!MD5;
        ssl_prefer_server_ciphers  on;

        location / {
            proxy_pass http://localhost:9031/;   #转发请求的地址
            proxy_connect_timeout 6000;     #链接超时设置
            proxy_read_timeout 6000;        #访问接口超时设置
        }
        # 静态资源代理路径
        location /profile/ {
            alias /home/baidu/uploadPath/;
            expires 30d; # 设置缓存过期时间
            add_header Cache-Control "public";
        }
    }

3. 配置80端口

server {
        listen       80; # 端口
        server_name  www.baidu.com; # 域名

        location / {
            proxy_pass http://localhost:9012/;   #转发请求的地址
            proxy_connect_timeout 6000;     #链接超时设置
            proxy_read_timeout 6000;        #访问接口超时设置
        }
    }

4. 代理VUE项目

server {
        listen       80;
        server_name  admin.baidu.com;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_pass http://localhost:90;
            root html;
            index index.html index.htm;
        }

        #error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
    
    # 90端口资源
    server {
        listen       90;
        
        # gzip config 前端加载慢问题这样解决
        gzip on;
        gzip_min_length 1k;
        gzip_comp_level 9;
        gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;
        gzip_vary on;
        gzip_disable "MSIE [1-6]\.";
        
        server_name  localhost;  # 这里配置域名
        location / {
            root   "/home/baidu/vue/dist";
            try_files $uri $uri/ @router;
            index  index.html index.htm;
            error_page 405 =200 http://$host$request_uri;
        }
        #代理后端接口
        location /api/ {
            proxy_pass http://localhost:9010/;   #转发请求的地址
            proxy_connect_timeout 6000;     #链接超时设置
            proxy_read_timeout 6000;        #访问接口超时设置
        }
        location @router {
            rewrite ^.*$ /index.html last;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }

标签:ssl,server,Nginx,html,proxy,nginx,Linux,SSL
From: https://www.cnblogs.com/LixiaoFeng1650062546/p/18249513

相关文章

  • Linux文件系统【真的很详细】
    目录 一.认识磁盘1.1磁盘的物理结构1.2磁盘的存储结构1.3磁盘的逻辑存储结构二.理解文件系统 2.1如何管理磁盘2.2如何在磁盘中找到文件 2.3关于文件名哈喽,大家好。今天我们学习文件系统,我们之前在Linux基础IO中研究的是进程和被打开文件之间的关系,以及如何管理被......
  • Linux项目部署套餐
    第一步准备工作创建一个目录用于存放要用到的工具并上传所需要用到的文件#下载上传需要用到的工具yuminstalllrzsz#创建目录mkdir-p/usr/local/mytools#进入mytools目录下cd/usr/local/mytools#上传可一次性上传jdk,mysql,tomcat,redis压缩包rz第二步安装jd......
  • Linux下Java环境安装
    Linux下open-jdk1.8安装教程一.下载安装包Javadownload下载后上传到服务器二.安装1.解压安装包tar-zxvfjdk-8u341-linux-x64.tar.gz2.配置环境变量在/etc/profile文件中,新增Java的环境变量vi/etc/profileexportJAVA_HOME=/usr/local/jdk/jdk1.8.0_341export......
  • nginx入门与实践
    当谈到NGINX的入门与实践时,理解基本概念并能够应用实际场景非常重要。NGINX是一个高性能的HTTP和反向代理服务器,也可用作负载均衡器和HTTP缓存。以下是一些入门级别的NGINX实践和代码示例,帮助你开始学习和使用它。1.安装和基本配置安装NGINX首先,你需要安装NGINX。具体安......
  • 【Linux】生产者消费者模型——阻塞队列BlockQueue
    >作者:დ旧言~>座右铭:松树千年终是朽,槿花一日自为荣。>目标:理解【Linux】生产者消费者模型——阻塞队列BlockQueue。>毒鸡汤:有些事情,总是不明白,所以我不会坚持。早安!>专栏选自:Linux初阶>望小伙伴们点赞......
  • Linux下Redis安装教程
    Linux下Redis安装教程一.下载Redis安装包官网下载地址:Redisdownloads推荐下载redis-7.0.0.tar.gz教程是以这个版本安装的二.安装1.下载Redis环境支持#安装GCC,Redis是基于C语言开发的,需要GCC支持yuminstallgcc-c++2.上传至服务器上传工具可以使用XFTPXFTP......
  • Linux Shell基础命令
    pwd功能:显示当前目录的绝对地址cd功能:切换目录绝对路径:以/为起点,遍历到子目录相对路径:以当前目录为起点,遍历到子目录常用目录:.当前目录..上层目录-上次操作所在路径~相当于/home/用户名的路径示例用途:cd/home/linux/Desktop#绝对路径的用法cd/home/......
  • 生产环境Nginx服务器双机热备部署以及配置内网域名转发
    10.0.0.8和10.0.0.9部署nginx:第一步:上传安装包第二步:安装编译依赖(使用普通用户需要家sudo)yuminstallgccgcc-c++yuminstallzlibzlib-develyuminstallpcrepcre-develyuminstallopenssllibssl-dev第三步:解压,编译安装:解压命令:sudotar-zxvfnginx-1.24.0.tar.g......
  • 006-使用buildroot构建一个完整的Linux操作系统
    原文:https://www.bilibili.com/read/cv31634226/实验介绍 之前的实验中介绍了如何使用buildroot构建一个易于使用的完整文件系统,但是buildroot的功能不止于此。 本实验准备使用buildroot构建一个完整的Linux操作系统。 本实验还会将编译好的固件烧录到U盘中,然后在......
  • linux中DNS域名解析服务
    DNS系统在网络中的作用就是维护一个地址数据库,其中记录了各种主机域名与IP地址的对应关系,以便为客户程序提供正向或反向的地址查询服务,即正向解析与反向解析。正向解析:根据域名查IP地址,即将指定的域名解析为相对应的IP地址。域名的正向解析是DNS服务器的最基本的功能,也是最常......