欧拉部署nginx

1.下载nginx

下载地址:https://nginx.org/en/download.html

选择稳定版本 下的镜像文件进行下载
在这里插入图片描述

2.解压Nginx包

cd /root/nginx
tar -zxvf nginx-1.26.0.tar.gz
cd nginx-1.26.0

3.安装nginx相关依赖

yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel

4.生成 Makefile 可编译文件

./configure --with-http_ssl_module --with-http_stub_status_module

参数说明:

  • –prefix=PATH:指定 nginx 的安装目录(默认/usr/local/nginx)
  • –conf-path=PATH:指定 nginx.conf 配置文件路径
  • –user=NAME:nginx 工作进程的用户
  • –with-pcre:开启 PCRE 正则表达式的支持
  • with-http-realip_module:允许改变客户端请求头中客户端 IP 地址
  • –with-file-aio:启用 File AIO
  • –add-module=PATH:添加第三方外部模块

5.编译和安装

# 编译
make
# 安装
make install

默认的安装路径为:/usr/local/nginx

6.启动

cd /usr/local/nginx/sbin
# 启动
./nginx
# 查看进程
ps -ef | grep nginx
# 停止
/usr/local/nginx/sbin/nginx -s stop
# 重启
/usr/local/nginx/sbin/nginx -s restart

7.配置

非https配置

worker_processes  1;
events {
    worker_connections  1024;
}


http {
    include       mime.types;
    default_type  application/octet-stream;

    sendfile        on;
    keepalive_timeout  65;

    #gzip  on;
    
    upstream reverseProxyServer{
        ip_hash;
        #负载均衡应用服务器A: 权重为10,10s内连接请求失败2次,nginx在10s内认为server是不可用的,将不在发送请求给这台服务器
        server xxx.xxx.xx.xxx:9090 weight=10 max_fails=2 fail_timeout=10s; 
        #负载均衡应用服务器B: 代理服务器权重为5,10s内连接请求失败2次,nginx在10s内认为server是不可用的,将不在发送请求给这台服务器
        server xxx.xxx.xx.xxx:9090 weight=5 fail_timeout=10s max_fails=2;
    }
  
  upstream reverseGrafanaServer{
        ip_hash;
        server xxx.xxx.xx.xxx:3000 weight=10 max_fails=2 fail_timeout=10s;
        server xxx.xxx.xx.xxx:3000 weight=8 max_fails=2 fail_timeout=10s;
    }
  
    server {
        listen       80;
        server_name  xxx.com;
        proxy_redirect off;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_connect_timeout 30s;
        proxy_read_timeout 30s;
        #charset koi8-r;

        #access_log  logs/host.access.log  main;
        location /{
            proxy_pass http://reverseProxyServer/;
        }
        location /grafana/{
            proxy_buffering on;
            proxy_buffer_size 4k;
            proxy_buffers 8 4M;
            proxy_busy_buffers_size 4M;
            proxy_pass http://reverseGrafanaServer/;
        }
    }
}

https配置

http {
  ...
  server {
        listen 80;
        server_name xxx.com;
        #将请求转成https
        rewrite ^(.*)$ https://$host$1 permanent;
    }
  
    server {
        listen       443 ssl;
        server_name  xxx.com;
        proxy_redirect off;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_connect_timeout 30s;
        proxy_read_timeout 30s;
        #charset koi8-r;
    
        #ssl证书的pem文件路径
        ssl_certificate  /usr/local/nginx/cert/server.crt;
        #ssl证书的key文件路径
        ssl_certificate_key /usr/local/nginx/cert/server.key;
            ....
    }
}

FAQ:遇到问题总结

问题1:nginx: [emerg] unknown directive “ssl”

解决方法
1.nginx生成 Makefile可编译文件时没有开启ssl,请参考步骤4
2.旧版本配置ssl和新版本不一致
server{
listen 443;
xxx
ssl on;
#ssl证书的pem文件路径
ssl_certificate /usr/local/nginx/cert/server.crt;
#ssl证书的key文件路径
ssl_certificate_key /usr/local/nginx/cert/server.key;
}
应改为
server{
listen 443 ssl;
xxx
#ssl证书的pem文件路径
ssl_certificate /usr/local/nginx/cert/server.crt;
#ssl证书的key文件路径
ssl_certificate_key /usr/local/nginx/cert/server.key;
}

问题2:curl: (60) SSL certificate problem: self signed certificate

解决方法:curl命令向服务器发送https请求, curl https的时候需要加上-k参数

问题3:nginx配了证书显示站点连接不安全

解决方法:我手里有crt和key证书,因为我用crt证书使用openssl命令生成pem证书配置上去的原因
解决方法直接配置crt和key证书就行

### 如何在欧拉系统部署开源大模型 #### 1. 准备工作 为了成功在欧拉系统 (openEuler) 上部署开源大模型,首先需要确保基础环境满足需求。根据 vLLM 的安装教程[^3],建议使用支持 CUDA 和 GPU 加速的硬件配置来提高推理性能。 以下是必要的准备工作: - 安装最新版本的 openEuler 操作系统,并确认其内核兼容性以及对目标处理器架构的支持情况[^1]。 - 确保已启用 NVIDIA 驱动程序及相关依赖库(如 cuDNN),以便充分利用 GPU 资源进行加速运算。 #### 2. 安装 vLLM 推理框架 按照官方文档中的指导完成 vLLM 的安装过程: ```bash pip install --upgrade pip setuptools wheel pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118 git clone https://github.com/vllm-project/vllm.git cd vllm make build_ext ``` 此部分操作会下载并编译最新的 vLLM 版本及其所需组件,从而为后续加载预训练权重文件做好铺垫[^3]。 #### 3. 下载与加载预训练模型 选择合适的开源大语言模型(例如 Llama 或 Falcon 系列),并通过 Hugging Face Model Hub 获取对应的 checkpoint 文件路径。接着利用如下 Python 脚本来实例化模型对象: ```python from transformers import AutoTokenizer, AutoModelForCausalLM import vllm tokenizer = AutoTokenizer.from_pretrained("path/to/model") model = AutoModelForCausalLM.from_pretrained("path/to/model", trust_remote_code=True) engine = vllm.Engine(model=model.half(), tokenizer=tokenizer) response = engine.generate(["What is the capital of France?"], max_tokens=50)[0].outputs[0].text.strip() print(response) ``` 以上代码片段展示了如何借助 `transformers` 库读取本地存储的参数矩阵,并将其传递给经过高度优化后的 vLLM 引擎执行实际推断任务[^3]。 #### 4. 提升稳定性与扩展性 考虑到生产环境中可能面临突发流量冲击等问题,在单机版基础上进一步引入负载均衡机制显得尤为重要。可以参照 keepalived + nginx 方案构建高可用 web 集群结构,使得多个节点之间能够协同作业共同分担请求压力[^4]。 具体实施步骤包括但不限于定义 VIP 地址资源分配策略;设置健康检查探针频率及时长阈值等关键参数调整选项等等。最终达成的效果便是即使某一台物理主机因故离线也不会影响整体服务质量水平下降太多程度之外还能自动恢复连接关系重新加入工作组当中去继续发挥作用。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值