使用 Linux + Nginx 作为 Unity WebGL 的服务器

使用 Linux + Nginx 作为 Unity WebGL 的服务器

本文介绍如何在 Linux 系统上使用 Nginx 作为服务器来托管 Unity WebGL 项目。并最终通过浏览器访问。

准备工作

1. 创建或下载 Unity WebGL 项目

  • 如果你已经有一个 Unity WebGL 项目,可以直接使用。
  • 如果没有,可以下载示例项目:
    https://download.youkuaiyun.com/download/GoodCooking/24339451
    

下载和安装 Nginx

1. 下载 Nginx

nginx官网下载

  • 访问 Nginx 官方网站下载适用于 Linux 的版本:
    https://nginx.org/en/download.html
    
  • 选择适合的版本(如 nginx-1.26.2.tar.gz)。

2. 解压 Nginx

在这里插入图片描述

使用以下命令解压下载的文件:
需要使用cd 命令切换到下载文件夹

tar -xvf nginx-1.26.2.tar.gz

3. 将 Nginx 文件拷贝到系统目录

创建一个独一无二的文件夹,如果有其他人要部署就不会产生路径的冲突。

在这里插入图片描述

  1. 创建一个目录用于存放 Nginx:
    sudo mkdir -p /etc/nginx/nginx_20241030
    
  2. 将解压后的 Nginx 文件拷贝到该目录:
    sudo cp -r nginx-1.26.2 /etc/nginx/nginx_20241030/
    
  3. 确认文件已成功拷贝:
    ls /etc/nginx/nginx_20241030/
    

将 Unity WebGL 文件拷贝到 Linux

使用U盘拷贝

1. 使用图形界面
  • 将 Unity WebGL 项目的 ZIP 文件拷贝到 Linux 系统中,解压后放置到指定目录。
2. 使用命令行

在这里插入图片描述

  1. 插入 U 盘并找到挂载点:
    lsblk
    
  2. 进入 U 盘目录并拷贝文件到 Downloads 文件夹:
    cd /media/raspberry/HIKSEMI/
    sudo cp LOOKCubeA.zip /home/raspberry/Downloads
    
  3. 解压文件:
    cd /home/raspberry/Downloads
    unzip LOOKCubeA.zip
    
  4. 将解压后的文件拷贝到 Nginx 的 HTML 目录:
    sudo cp -r LOOKCubeA/* /etc/nginx/nginx_20241030/nginx-1.26.2/html
    
3.在浏览器下载
  1. 解压文件:
    cd /home/raspberry/Downloads
    unzip LOOKCubeA.zip
    
  2. 将解压后的文件拷贝到 Nginx 的 HTML 目录:
    sudo cp -r LOOKCubeA/* /etc/nginx/nginx_20241030/nginx-1.26.2/html
    

配置 Nginx

1. 修改配置文件

  1. 进入 Nginx 配置目录:
    cd /etc/nginx/nginx_20241030/nginx-1.26.2/conf
    
  2. 备份配置文件:
    sudo cp nginx.conf nginx.conf-save
    
  3. 编辑配置文件:
    • 使用 nano 编辑器:
      sudo nano nginx.conf
      
    • 或者将配置文件拷贝到桌面编辑后覆盖回去:
      sudo cp nginx.conf /home/raspberry/Desktop
      sudo cp /home/raspberry/Desktop/nginx.conf /etc/nginx/nginx_20241030/nginx-1.26.2/conf/nginx.conf
      

2. 修改配置内容

注意: root /etc/nginx/nginx_20241030/nginx-1.26.2/html;
修改为自己的路径!!!

root 路径修改为绝对路径,并添加 CORS 支持:

location / {
    root /etc/nginx/nginx_20241030/nginx-1.26.2/html;
    index index.html index.htm;

    # 添加 CORS 头部
    add_header Access-Control-Allow-Origin *;
    add_header Access-Control-Allow-Methods 'GET, POST, OPTIONS';
    add_header Access-Control-Allow-Headers 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization';

    # 处理 OPTIONS 请求
    if ($request_method = OPTIONS) {
        add_header Access-Control-Allow-Origin *;
        add_header Access-Control-Allow-Methods 'GET, POST, OPTIONS';
        add_header Access-Control-Allow-Headers 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization';
        add_header Content-Length 0;
        add_header Content-Type text/plain;
        return 204;
    }
}

启动 Nginx

1. 使用命令行安装的 Nginx

  • 启动 Nginx:
    sudo systemctl start nginx
    
  • 重启 Nginx:
    sudo systemctl restart nginx
    
  • 查看状态:
    sudo systemctl status nginx
    

2. 使用源码编译的 Nginx

  • 如果使用源码编译,确保编译成功后再启动:
    sudo ./configure
    sudo make
    sudo make install
    

访问 Unity WebGL 项目

  • 打开浏览器,输入服务器的 IP 地址或域名,即可访问 Unity WebGL 项目。
  • 示例:
    http://<服务器IP>/index.html
    
  • 没有修改ip地址和端口号可以使用:
    localhost:80
    

Enjoy

不明白可以评论留言哦。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值