Nginx配置https(Ubuntu、Debian、Linux、麒麟)

Ubuntu操作系统,Debian系统底层是Ubuntu,差异不大

ubuntu 安装nginx

1.安装依赖

sudo apt-get update

sudo apt-get install gcc

sudo apt-get install libpcre3 libpcre3-dev

sudo apt-get install zlib1g zlib1g-dev

sudo apt-get install openssl libssl-dev

2.获取压缩包,解压,配置,安装

1、下载

wget https://nginx.org/download/nginx-1.21.6.tar.gz

2、解压

tar xvf nginx-1.21.6.tar.gz

3、切入到解压目录

cd nginx-1.21.6

4、配置https

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

5、编译:

make

6、安装

make install

nginx -V 查看是否有ssl模块

Nginx配置文件增加ssl相关配置

server {
        # xxxx平台服务
        listen       8211 ssl;
        server_name  localhost;

        # 引用正确的ssl证书和私钥(确保路径正确且文件存在)
        ssl_certificate      /home/zhqx/ssl/server.crt;  # 修正为.crt或.pem文件
        ssl_certificate_key  /home/zhqx/ssl/server.key;

        # 协议优化,仅允许安全的TLS版本和加密套件
        ssl_protocols TLSv1.2 TLSv1.3;
        ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4:!RSA:!SHA1:!SHA256:!AES128-GCM;  # 排除一些较弱的加密套件
        ssl_prefer_server_ciphers  on;

        # 启用HSTS(HTTP Strict Transport Security),增强安全性
        add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload";

        # 防止点击劫持和跨站脚本(XSS)攻击
        add_header X-Frame-Options SAMEORIGIN;
        add_header X-Content-Type-Options nosniff;
        add_header X-XSS-Protection "1; mode=block";

        # 内容安全策略(CSP),限制资源加载来源
        add_header Content-Security-Policy "default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval'; connect-src 'self' *; style-src 'self' 'unsafe-inline'; img-src 'self' data:; font-src 'self' data:;";

        # 记录访问日志(可选,根据需求开启或关闭)
        # access_log  /var/log/nginx/sms_access.log  main;
        # error_log   /var/log/nginx/sms_error.log  warn;

        location / {
            root   /home/zhqx/sms/dist;
            index  index.html index.htm;
            try_files $uri $uri/ /index.html;  # 对于单页应用(SPA),确保所有路由都返回index.html
        }

        location /api {
            proxy_set_header        Host $http_host;
            proxy_set_header        X-Real-IP $remote_addr;
            proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header        X-Forwarded-Proto $scheme;  # 添加以传递协议信息(http/https)
            proxy_pass              http://ip:8092/xxx/api/v1;
            proxy_next_upstream     error timeout invalid_header http_500 http_502 http_503 http_504;  # 在后端服务器出错时尝试下一个服务器(如果配置了多个后端)
            proxy_cache_bypass      $http_upgrade;  # 对于WebSocket连接,不缓存响应
        }

        # 错误页面处理
        error_page 401 403 404 500 502 503 504 /custom_50x.html;
        location = /custom_50x.html {
            root   /home/zhqx/sms/error_pages;  # 指定错误页面的目录
            internal;  # 确保这个页面只能由Nginx内部调用
        }
    }

麒麟操作系统&Linux 安装使用yum

操作相差无几!

遇到的问题:

1:nginx: [emerg] open() "/etc/nginx/nginx.conf" failed (2: No such file or directory)

分析:

        麒麟操作系统,我在/usr/local 路径下编译安装的,但是提示这个错误!

解决:

        将nginx安装到/etc/nginx下,同时修改权限chmod 777 /etc/nginx

2:nginx: [emerg] open() "/etc/nginx/mime.types" failed (2: No such file or directory) in /etc/nginx/nginx.conf:19

分析:

        缺少mime.types文件,从网上下载一个

解决:

         sudo curl -o /etc/nginx/mime.types https://hg.nginx.org/nginx/raw-file/default/conf/mime.types

参考:
 

第一步:下载nginx压缩包
        去nginx官网下载 https://nginx.org/en/download.html

也可以直接使用wget命令下载,指令如下所示(请根据自己的需求进行下载):

建议选择官网发布的稳定版本

用命令下载时,要在自己需要下载的目录进行操作 我这里在 /home/docs/nginx 下

wget -c https://nginx.org/download/nginx-1.10.1.tar.gz


第二步:配置nginx安装所需的环境


1.安装gcc


安装 nginx 需要先将官网下载的源码进行编译,编译依赖 gcc 环境。安装指令如下:

yum install gcc-c++


2. 安装PCRE pcre-devel


Nginx的Rewrite模块和HTTP核心模块会使用到PCRE正则表达式语法。这里需要安装两个安装包pcre和pcre-devel。第一个安装包提供编译版本的库,而第二个提供开发阶段的头文件和编译项目的源代码。安装指令如下:

yum install -y pcre pcre-devel 
 

3.安装zlib


zlib库提供了开发人员的压缩算法,在Nginx的各种模块中需要使用gzip压缩。安装指令如下:

yum install -y zlib zlib-devel
 


4.安装Open SSL


nginx不仅支持 http协议,还支持 https(即在 ssl 协议上传输 http),如果使用了 https,需要安装 OpenSSL 库。安装指令如下:

yum install -y openssl openssl-devel
 


第三步:解压nginx压缩包并安装
 

tar -zxvf nginx-1.10.1.tar.gz
解压之后,当前目录会出现一个被解压过的目录,如上图所示。

使用./configure命令来配置编译选项,如下图所示:

cd /home/docs/nginx/nginx-1.10.1
 
./configure


注意:如果需要支持https,不要直接执行 ./configure ----------------不需要忽略此命令

使用如下命令代替

./configure --with-http_ssl_module
 
--with-http_ssl_module 的意思是添加https支持
 


第四步:编译安装nginx


这里和redis的编译安装比较类似,首先在当前目录/home/docs/nginx/nginx-1.10.1进行编译。输入make即可

make
 
然后回车,如果编译出错,请检查是否前面的4个安装都没有问题。
编译成功之后,就可以安装了,输入以下指令:

make install
 
ok,安装成功。

这时会在 /usr/local/ 目录下生成一个 nginx 目录

第五步:启动nginx


以下对nginx的操作都需要进入到 /usr/local/nginx/sbin目录下执行

进入/usr/local/nginx/sbin目录,输入./nginx即可启动nginx

cd /usr/local/nginx/sbin
 
./nginx
 
关闭nginx

./nginx -s quit  或者 ./nginx -s stop
 
重启nginx

./nginx -s reload
 
查看nginx进程

ps aux|grep nginx
 
设置nginx开机启动,只需在rc.local增加启动代码即可。(这种方式好像不推荐使用)

vim /etc/rc.local
 
还需要下列命令 否则开机自启不生效

chmod +x /etc/rc.d/rc.local
 

开机自启其他配置方式

<think>好的,用户现在问的是如何在麒麟Linux配置yum源。首先,我需要回忆一下麒麟Linux的背景。麒麟Linux是基于CentOS或者Ubuntu的国产系统,可能属于不同的分支,比如桌面版和服务器版可能不同。用户之前遇到了Docker拉取镜像的问题,现在转向配置yum源,可能是为了安装软件或者解决依赖问题。 接下来,我需要确认麒麟Linux的具体版本,因为不同版本配置yum源的方法不同。比如,如果是基于CentOS的,通常使用.repo文件在/etc/yum.repos.d/目录下,而如果是基于Debian的,则使用apt源。但用户提到的是yum,所以应该属于基于Red Hat系列的系统,比如CentOS或Fedora。 用户可能需要配置国内镜像源来加速软件包下载,或者添加官方的源。常见的国内镜像源有清华、阿里云、中科大等。需要注意麒麟Linux可能有自己的官方源,需要优先考虑,尤其是涉及系统安全或特定软件的情况。 另外,用户可能遇到网络问题,或者对配置源不熟悉,需要详细的步骤指导。可能需要检查系统版本,备份原有源,下载新的repo文件,清理缓存,更新等步骤。此外,如果是内网环境,可能需要配置本地源,但用户的问题更可能是如何配置网络上的yum源。 还要考虑是否需要启用EPEL或其他第三方源,但需要提醒用户注意兼容性问题。最后,需要验证配置是否成功,比如运行yum makecache或者尝试安装软件测试。 可能用户的问题还涉及到源地址是否正确,是否需要替换变量,比如releasever、basearch等,这些在麒麟Linux中可能需要特定的处理。需要确保用户替换正确的版本号和架构。 总结步骤应该是:确认系统版本,备份原有源,下载或创建新的repo文件,清理缓存,测试更新。同时给出常见国内镜像源的配置示例,并提醒注意事项,如官方源的重要性,以及遇到问题时的排查方法。</think>以下是麒麟Linux(以 **Kylin V10** 为例)配置 yum 源的详细步骤: --- ### **1. 确认系统版本** 首先确认麒麟 Linux 的版本和架构: ```bash cat /etc/os-release # 查看系统版本 uname -m # 查看架构(x86_64/aarch64) ``` --- ### **2. 备份原有 yum 源** ```bash sudo mkdir -p /etc/yum.repos.d/backup sudo mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/backup/ ``` --- ### **3. 配置国内镜像源(推荐)** 麒麟 Linux 默认源可能速度较慢,建议使用国内镜像源(如 **清华、阿里云**)。 根据系统版本选择以下配置: #### **场景 1:基于 CentOS 的 Kylin V10** ```bash # 使用清华镜像源(适配 x86_64/aarch64) sudo tee /etc/yum.repos.d/kylin.repo <<-'EOF' [ks10-adv-os] name = Kylin Linux Advanced Server 10 - Os baseurl = https://mirrors.tuna.tsinghua.edu.cn/kylin/KYLIN-ALL/10.1/os/$basearch/ gpgcheck = 1 gpgkey = https://mirrors.tuna.tsinghua.edu.cn/kylin/KYLIN-ALL/10.1/os/$basearch/RPM-GPG-KEY-kylin enabled = 1 [ks10-adv-updates] name = Kylin Linux Advanced Server 10 - Updates baseurl = https://mirrors.tuna.tsinghua.edu.cn/kylin/KYLIN-ALL/10.1/updates/$basearch/ gpgcheck = 1 gpgkey = https://mirrors.tuna.tsinghua.edu.cn/kylin/KYLIN-ALL/10.1/os/$basearch/RPM-GPG-KEY-kylin enabled = 1 EOF ``` #### **场景 2:使用阿里云镜像(兼容 CentOS 8)** ```bash sudo tee /etc/yum.repos.d/aliyun.repo <<-'EOF' [base] name=Kylin Linux Advanced Server V10 - Base baseurl=https://mirrors.aliyun.com/kylin/KYLIN-ALL/10.1/os/$basearch/ gpgcheck=1 gpgkey=https://mirrors.aliyun.com/kylin/KYLIN-ALL/10.1/os/$basearch/RPM-GPG-KEY-kylin [updates] name=Kylin Linux Advanced Server V10 - Updates baseurl=https://mirrors.aliyun.com/kylin/KYLIN-ALL/10.1/updates/$basearch/ gpgcheck=1 gpgkey=https://mirrors.aliyun.com/kylin/KYLIN-ALL/10.1/os/$basearch/RPM-GPG-KEY-kylin EOF ``` --- ### **4. 清理并更新缓存** ```bash sudo yum clean all # 清理旧缓存 sudo yum makecache # 生成新缓存 sudo yum update -y # 更新系统 ``` --- ### **5. 验证 yum 源** ```bash yum repolist # 查看已启用的仓库列表 yum search <package> # 测试搜索软件包(如 nginx) ``` --- ### **6. 可选:配置 EPEL 源** 如果需要更多第三方软件包,可以添加 EPEL 源: ```bash sudo yum install -y epel-release ``` --- ### **注意事项** 1. **网络问题**:确保服务器能访问互联网(如需代理,配置 `http_proxy` 环境变量)。 2. **官方源**:若需使用官方源,从麒麟官网下载 `.repo` 文件并替换镜像地址。 3. **兼容性**:第三方源(如 EPEL)可能与麒麟 Linux 存在兼容性问题,建议测试后使用。 --- ### **故障排查** - **报错 `Could not resolve host`**:检查 DNS 配置或网络连通性。 - **GPG 签名失败**:手动导入 GPG 密钥: ```bash sudo rpm --import https://mirrors.aliyun.com/kylin/KYLIN-ALL/10.1/os/x86_64/RPM-GPG-KEY-kylin ``` --- 通过以上步骤,您可以快速为麒麟 Linux 配置稳定高效的 yum 源。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值