在自学游戏开发的路上,最有成就感的时刻就是将自己的小游戏做出来分享给朋友试玩,原生的游戏开可以打包分享,小游戏上线流程又长,那 H5 小游戏该怎么分享呢?本文就带大家通过 nginx 将构建好的 H5 游戏托管的阿里云上。

内容大纲:

  1. 下载、配置 nginx

  2. 上传游戏构建文件到云服务器

  3. nginx 通过端口设置多个虚拟主机

开发环境:

阿里云服务器:Ubuntu 14.04.5 LTS (GNU/Linux 4.4.0-93-generic x86_64)

nginx:nginx/1.4.6 (Ubuntu)

WinSCP:5.15.3

步骤详解:

1.下载、配置 nginx

开始之前先简单的说一下什么是 nginx,nginx 是一款轻量级的 Web 服务器/ 反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行,其特点是占有内存少, 并发能力强。

反向代理就是以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给 internet 上请求连接的客户端,此时代理服务器对外就表现为一个服务器。

负载均衡其实就是将流量分发到多个服务器上执行,减轻每台服务器的压力,多台服务器共同完成工作任务,从而提高了数据的吞吐量,从而扩展了网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。

使用 nginx 我们可以做到动静分离,将万年不动的静态资源放到 nginx 中,而动态资源运行在 TomCat 服务器中,当访问静态资源时,直接请求 nginx 就可以了,不在需要去请求 TomCat 这样服务器的压力又小了。

目前支持两种安装方式,一种是基于 APT 源安装,一种是通过源码包编译安装,但是如果想要安装最新版本的就必须下载源码包编译安装。本文采用的是基于 APT 源安装方式,想了解另外一种安装方式的小伙伴可自行百度。

1.1 更新软件源

sudo apt-get update

1.2 安装 nginx

sudo apt-get install nginx

注:安装好的文件位置:

/usr/sbin/nginx:主程序

/etc/nginx:存放配置文件

/usr/share/nginx:存放静态文件

/var/log/nginx:存放日志

1.3 查看 nginx 是否安装成功

nginx -v

1.4 启动 nginx

service nginx start

1.5 启动后,在浏览器输入服务器的公网 IP,即可看到 nginx 的欢迎页面,至此nginx安装成功。

2.上传游戏构建文件到云服务器

2.1 上传文件到云服务器需要用到一个工具:WinSCP,软件我已经上传到百度云,公众号后台回复「WinSCP」即可获得,无脑操作即可安装。

2.2 上传文件之前需要先在云服务器中创建一个文件夹用来一会放置游戏构建文件,因为一会要放置两个游戏的构建文件,所以我又创建了两个子文件夹,目录如下(我是创建在了根目录下,你可以根据实际情况自行创建。):

/www/80

/www/81

2.3 创建好文件夹后就可以使用 WinSCP 上传游戏构建文件了,准备两个构建好的游戏,将构建文件全选后右击上传到上面创建的目录即可:

3.nginx 通过端口设置多个虚拟主机

开始之前同样对 nginx 的配置文件先做简单的说明:

...              #全局块events {         #events块...
}http      #http块
{...   #http全局块server        #server块{ ...       #server全局块location [PATTERN]   #location块{...}location [PATTERN] {...}}server{...}...     #http全局块
}

全局块:配置影响nginx全局的指令。一般有运行nginx服务器的用户组,nginx进程pid存放路径,日志存放路径,配置文件引入,允许生成worker process数等。

events块:配置影响nginx服务器或与用户的网络连接。有每个进程的最大连接数,选取哪种事件驱动模型处理连接请求,是否允许同时接受多个网路连接,开启多个网络连接序列化等。

http块:可以嵌套多个server,配置代理,缓存,日志定义等绝大多数功能和第三方模块的配置。如文件引入,mime-type定义,日志自定义,是否使用sendfile传输文件,连接超时时间,单连接请求数等。

server块:配置虚拟主机的相关参数,一个http中可以有多个server。

location块:配置请求的路由,以及各种页面的处理情况。

下面给大家上一个配置文件,作为理解:

########### 每个指令必须有分号结束。#################
#user administrator administrators;  #配置用户或者组,默认为nobody nobody。
#worker_processes 2;  #允许生成的进程数,默认为1
#pid /nginx/pid/nginx.pid;   #指定nginx进程运行文件存放地址
error_log log/error.log debug;  #制定日志路径,级别。这个设置可以放入全局块,http块,server块,级别以此为:debug|info|notice|warn|error|crit|alert|emerg
events {accept_mutex on;   #设置网路连接序列化,防止惊群现象发生,默认为onmulti_accept on;  #设置一个进程是否同时接受多个网络连接,默认为off#use epoll;      #事件驱动模型,select|poll|kqueue|epoll|resig|/dev/poll|eventportworker_connections  1024;    #最大连接数,默认为512
}
http {include       mime.types;   #文件扩展名与文件类型映射表default_type  application/octet-stream; #默认文件类型,默认为text/plain#access_log off; #取消服务日志    log_format myFormat '$remote_addr–$remote_user [$time_local] $request $status $body_bytes_sent $http_referer $http_user_agent $http_x_forwarded_for'; #自定义格式access_log log/access.log myFormat;  #combined为日志格式的默认值sendfile on;   #允许sendfile方式传输文件,默认为off,可以在http块,server块,location块。sendfile_max_chunk 100k;  #每个进程每次调用传输数量不能大于设定的值,默认为0,即不设上限。keepalive_timeout 65;  #连接超时时间,默认为75s,可以在http,server,location块。upstream mysvr {   server 127.0.0.1:7878;server 192.168.10.121:3333 backup;  #热备}error_page 404 https://www.baidu.com; #错误页server {keepalive_requests 120; #单连接请求上限次数。listen       4545;   #监听端口server_name  127.0.0.1;   #监听地址       location  ~*^.+$ {       #请求的url过滤,正则匹配,~为区分大小写,~*为不区分大小写。#root path;  #根目录#index vv.txt;  #设置默认页proxy_pass  http://mysvr;  #请求转向mysvr 定义的服务器列表deny 127.0.0.1;  #拒绝的ipallow 172.18.5.54; #允许的ip           } }
}

利用虚拟主机技术,可以把一台真正的主机分成许多 ” 虚拟 ” 的主机,每一台虚拟主机都具有独立的域名和 IP 地址,具有完整的 Internet 服务器( www, FTP,email )功能。虚拟主机之间完全独立,在外界看来,每一台虚拟主机和一台独立的主机完全一样。

虚拟主机共分为三种:基于 IP 的虚拟主机,基于端口的虚拟主机和基于名称的虚拟主机,本文采用的是基于端口设置多个虚拟主机,想了解另外两种设置方式的小伙伴可自行百度。

3.1 本文放开的是 80 和 81 端口,80 端口是默认的端口,开始之前优先要在阿里云服务器打开 81 端口:

3.2 阿里云服务器配置好之后,就可以远程登录服务器去看是否开启端口成功了,如果没有检测到端口的话,还需要手动开启:

查看状态:

iptables -L -n

如果没有 81 端口,则需要打开 81 端口:

打开端口:

iptables -I INPUT -p tcp --dport 81 -j ACCEPT

关闭端口:

iptables -D INPUT -p tcp --dport 81 -j ACCEPT

3.3 打开端口后,加下来需要配置 nginx.conf 文件了,上面已经对 nginx.conf 配置文件进行了简单的介绍,想要通过端口设置多个虚拟主机,只需要在添加一个 server 对新打开的端口进行监听即可:

    server {listen       80;    // 监听 80 端口server_name  test80.superyu.com;root   /www/80;    // 项目目录location / {index index.html index.htm;}error_page   500 502 503 504  /50x.html;location = /50x.html {root   html;}   }server {listen       81;    // 监听 81 端口server_name  test81.superyu.cn;root   /www/81;    // 项目目录location / {index index.html index.htm;}error_page   500 502 503 504  /50x.html;location = /50x.html {root   html;}        }

3.4 配置好 nginx.conf 文件后,重启 nginx 就可以查看效果了:

输入下面命令即可在不关闭 nginx 的情况下更新配置文件:

nginx -s reload

3.5 在编辑器输入 http://公网:端口 可以看到效果如下:

最后:

至此将 H5 游戏部署到云服务器的全部步骤都介绍完了,快点将自己的游戏分享给朋友试玩吧!


『★ 更多游戏 ★』

☞ 数钱      ☞ 左右跳    ☞ 重力球   ☞ 打地鼠

☞ 推箱子   ☞ 扫雷       ☞ 跑酷      ☞ 动物同化

☞ 打飞机   ☞ 撑杆跳   ☞ 六边形   ☞ 口红机

☞ 当官消消乐     ☞ 虚拟摇杆

如何部署 H5 游戏到云服务器?相关推荐

  1. gpu云服务器运行游戏_GPU云服务器可以挂载大型游戏吗?

    随着科技的发展,云服务器和网络游戏都是互联网发展的产物.现在随着网络的广泛发展和使用,云服务器和游戏都是现在比较火热的行业,云服务器基于云计算技术的发展,用于存放网站数据,在现在的生产工作中占据重要地 ...

  2. 部署WEB应用到云服务器时,出现的部分网页不能显示或者连接数据库问题。

    目录 QUESTION:部署WEB应用到云服务器时,出现的部分网页不能显示或者连接数据库问题? ANSWER: 一:Mysql配置问题 1.1MySQL配置不区分大小写: 1.2设置MySQL字符集 ...

  3. 快速部署web项目上线云服务器

    快速部署web项目上线云服务器 一.第一步登录腾讯云 1.登录腾讯云后,先购买或者在最新活动中免费领取一个十五天的云服务器产品 2.然后点击头像 3.在云产品选项中选择你需要的云服务器或轻量级应用服务 ...

  4. 如何把自己的项目部署在腾讯云服务器上,别人可以访问(超详细教程)

    如何把自己的项目部署在腾讯云服务器上,别人可以访问 原理其实就是:把自己的项目放到云服务器上用tomcat运行,把tomcat端口号改成80,别人就能通过ip+项目名+index.jsp界面访问了 那 ...

  5. 安装Hexo博客并部署到GitHub或云服务器(细节教程,越过各种坑)

    前言 心血来潮买了云主机,浪费了几个月都没用,然后就学着搭建博客,对比了一下 WordPress 和 Hexo 之后,随性选择了以 Hexo 为框架搭建博客平台. 经过了几次的从零开始,遇到了各种各样 ...

  6. 手机游戏显示服务器异常,手机玩游戏是云服务器异常

    手机玩游戏是云服务器异常 内容精选 换一换 本文介绍了云手机CPH产品新特性和对应的文档动态,新特性将在各个区域(Region)陆续发布,欢迎体验. 华为鲲鹏云手机是运行在云端虚拟出带有原生安卓操作系 ...

  7. gpu云服务器运行游戏_GPU云服务器可以挂在大型游戏吗

    随着科技的发展,云服务器和网络游戏都是互联网发展的产物.现在随着网络的广泛发展和使用,云服务器和游戏都是现在比较火热的行业,云服务器基于云计算技术的发展,用于存放网站数据,在现在的生产工作中占据重要地 ...

  8. (云服务器学习)部署python程序到云服务器

    (云服务器学习)部署python程序到云服务器 我本来好早就买了阿里云的服务器,以前叫做学生机,现在好像叫云翼计划,我感觉每年花个不到百元能玩玩也挺不错的.还能在上面搭建个人博客,跑跑程序,以后还能学 ...

  9. git上传文件到腾讯云服务器,我的hexo部署到腾讯云服务器

    最近发现腾讯云搞活动,然后就心血来潮买了个服务器,感觉是挺便宜的(肯定是腾讯的套路),还续费了2年,希望自己能玩好这台服务器.昨天刚买完之后,一直在想不知道用来干嘛,想到现在还是不清楚要搞些撒东西出来 ...

最新文章

  1. postman设置Cookie上行参数访问接口
  2. Self-Tuning Spectral Clustering论文阅读和代码理解
  3. 吴恩达 coursera ML 第四课总结+作业答案
  4. qpython3编辑器怎么用_Python快速入门系列:Pyqt5界面开发好帮手-Qss样式编辑器介绍...
  5. jmeter聚个报告怎么看qps_【jmeter】jmeter测试网站QPS
  6. 34个省市自治区排序_freeCodeCamp的1,000多个学习小组现已完全自治
  7. 443显示正常服务器错误,wordpress 出现443 NOT FOUND-apache错误的解决方案
  8. 安卓application生命周期的onCreate、onLowMemory、onTrimMemory、onConfigurationChanged
  9. 使用socket方式连接Nginx优化php-fpm性能
  10. 2021我的互联网秋招算法岗总结
  11. php laravel 相关收集
  12. ajax+同步+返回数据库,如何使AJAX同步
  13. 知乎APP---案例分析
  14. pyqt界面语言中英文转换
  15. 邮件服务器收件人数量限制,qq邮箱群发邮件技巧
  16. 软件的hil测试,电力电子新能源仿真测试HIL
  17. MATLAB的取整函数与取余函数
  18. Gartner 魔力象限
  19. 点击图片 实现放大功能
  20. 理解分布式一致性:Paxos协议之Multi-Paxos

热门文章

  1. for语句用法matlab,matlab中的for语句
  2. 如何在VMware虚拟机间建立共享磁盘?
  3. 【音频播放】自制音频播放器—音视频基础概念,未完待续。。。
  4. 利用旧手机搭建网站(详细)从此再也不需要云主机了
  5. 有道云 语法高亮_有道云笔记Markdown怎么用 有道云笔记Markdown简明版使用指南
  6. 知识图谱-KGE-语义匹配-双线性模型-2017:Analogy【DistMult与ComplEx的合体】
  7. 黑莓2013 年产品路线图曝光 将发布多款BlackBerry 10 产品
  8. 澳门大学的计算机科学是强科吗,澳门大学计算机专业大学排名
  9. 自考之操作系统大题解析
  10. 包管理rmp与yum