详解如何部署H5游戏到nginx服务器

详解如何部署H5游戏到nginx服务器,第1张

详解如何部署H5游戏到nginx服务器

本文主要详细介绍了如何将H5游戏部署到nginx服务器上,并且通过示例代码非常详细,对于大家的学习或者工作都有一定的参考价值。有需要的朋友就跟着下面的边肖学习吧。

在自学游戏开发的道路上,最充实的时刻就是自己做小游戏,和朋友分享。原生游戏可以打包分享,小游戏上线流程长,怎么分享H5小游戏?本文将带您通过nginx在阿里云上托管已构建的H5游戏。

内容大纲:

  • 下载并配置nginx
  • 将游戏构建文件上传到云服务器
  • Nginx通过端口设置多个虚拟主机。
  • 开发环境:

    阿里云服务器:Ubuntu14.04.5LTS(GNU/Linux4.4.0-93-通用x86_64)

    nginx:nginx/1.4.6(Ubuntu)

    WinSCP:5.15.3

    步骤的详细说明:

    1。下载并配置nginx

    开始之前,先简单说一下nginx是什么。nginx是一个轻量级的Web服务器/反向代理服务器和email(IMAP/POP3)代理服务器,它分布在一个类似BSD的协议下,特点是内存少,并发性强。

    反向代理是通过代理服务器接受互联网上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器获得的结果返回给互联网上请求连接的客户端。此时,代理服务器在外部表现为服务器。

    负载均衡实际上就是将流量分配给多个服务器,减轻每个服务器的压力,多个服务器协同工作,提高数据吞吐量,从而扩展网络设备和服务器的带宽,增加吞吐量,加强网络数据处理能力,提高网络的灵活性和可用性。

    通过使用nginx,我们可以将静态和动态资源分开,放在nginx中,而动态资源运行在TomCat服务器中。在访问静态资源的时候,直接请求nginx就够了,像TomCat这样的服务器压力较小。

    目前支持两种安装方式,一种是基于APT源码,另一种是通过源码包编译安装。但是如果要安装最新版本,就必须下载源码包并编译安装。本文基于APT源码安装方法,想了解另一种安装方法的朋友可以自己动手。

    1.1更新软件来源

    sudoapt-getupdate

    1.2安装nginx

    sudoapt-getinstallnginx

    注意:安装文件的位置:

    /usr/sbin/nginx:主程序

    /etc/nginx:存储配置文件。

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

    /var/log/nginx:存储日志。

    1.3检查nginx是否安装成功。

    nginx-v

    1.4启动nginx

    servicenginxstart

    1.5启动后,在浏览器中输入服务器的公共IP,就可以看到nginx的欢迎页面。到目前为止,nginx已经安装成功。

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

    2.1你需要一个上传文件到云服务器的工具:WinSCP。我已经把软件上传到百度云了。微信官方账号后台回复“WinSCP”即可获取,想都不用想就可以安装。

    2.2上传文件前,需要在云服务器中创建一个文件夹,暂时放置游戏build文件。因为两款游戏的build文件会放置一段时间,所以我用下面的目录创建了两个子文件夹(我是在根目录下创建的,你可以根据实际情况自己创建。):

    /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进程数量。

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

    httpblock:您可以嵌套多个服务器,配置代理、缓存、日志定义以及第三方模块大多数其他功能和配置。如文件导入、mime类型定义、日志定制、是否使用sendfile传输文件、连接超时、单次连接请求数量等。

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

    位置块:配置请求的路由和各个页面的处理。

    这里有一个配置文件供您理解:

    ###########每个指令必须有分号结束。################# #useradministratoradministrators;#配置用户或者组,默认为nobodynobody。 #worker_processes2;#允许生成的进程数,默认为1 #pid/nginx/pid/nginx.pid;#指定nginx进程运行文件存放地址 error_loglog/error.logdebug;#制定日志路径,级别。这个设置可以放入全局块,http块,server块,级别以此为:debug|info|notice|warn|error|crit|alert|emerg events{ accept_mutexon;#设置网路连接序列化,防止惊群现象发生,默认为on multi_accepton;#设置一个进程是否同时接受多个网络连接,默认为off #useepoll;#事件驱动模型,select|poll|kqueue|epoll|resig|/dev/poll|eventport worker_connections1024;#最大连接数,默认为512 } http{ includemime.types;#文件扩展名与文件类型映射表 default_typeapplication/octet-stream;#默认文件类型,默认为text/plain #access_logoff;#取消服务日志 log_formatmyFormat'$remote_addr–$remote_user[$time_local]$request$status$body_bytes_sent$http_referer$http_user_agent$http_x_forwarded_for';#自定义格式 access_loglog/access.logmyFormat;#combined为日志格式的默认值 sendfileon;#允许sendfile方式传输文件,默认为off,可以在http块,server块,location块。 sendfile_max_chunk100k;#每个进程每次调用传输数量不能大于设定的值,默认为0,即不设上限。 keepalive_timeout65;#连接超时时间,默认为75s,可以在http,server,location块。 upstreammysvr{ server127.0.0.1:7878; server192.168.10.121:3333backup;#热备 } error_page404https://www.baidu.com;#错误页 server{ keepalive_requests120;#单连接请求上限次数。 listen4545;#监听端口 server_name127.0.0.1;#监听地址 location~*^.+${#请求的url过滤,正则匹配,~为区分大小写,~*为不区分大小写。 #rootpath;#根目录 #indexvv.txt;#设置默认页 proxy_passhttp://mysvr;#请求转向mysvr定义的服务器列表 deny127.0.0.1;#拒绝的ip allow172.18.5.54;#允许的ip } } }

    使用虚拟主机技术,一个真实的主机可以分成许多“虚拟”主机。每个虚拟主机都有独立的域名和IP地址,并具有完整的互联网服务器(www、FTP、email)功能。虚拟主机之间是完全独立的。在外界看来,每台虚拟主机都和独立主机一模一样。

    有三种虚拟主机:基于IP的虚拟主机、基于端口的虚拟主机和基于名称的虚拟主机。本文使用的是基于端口的虚拟主机,想了解其他两种设置的朋友可以自己百度一下。

    3.1本文发布了端口80和81,端口80为默认端口。启动前,最好打开阿里云服务器中的81端口:

    3.2阿里云服务器配置完成后,可以远程登录服务器,查看端口是否打开成功。如果没有检测到端口,您仍然需要手动打开它:

    查看状态:

    iptables-L-n

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

    开放端口:

    iptables-IINPUT-ptcp--dport81-jACCEPT

    关闭端口:

    iptables-DINPUT-ptcp--dport81-jACCEPT

    3.3打开端口后,添加后需要配置nginx.conf文件。nginx.conf配置文件上面已经简单介绍过了。如果要通过端口设置多台虚拟主机,只需要添加一台服务器来监控新开放的端口:

    server{ listen80;//监听80端口 server_nametest80.superyu.com; root/www/80;//项目目录 location/{ indexindex.htmlindex.htm; } error_page500502503504/50x.html; location=/50x.html{ roothtml; } } server{ listen81;//监听81端口 server_nametest81.superyu.cn; root/www/81;//项目目录 location/{ indexindex.htmlindex.htm; } error_page500502503504/50x.html; location=/50x.html{ roothtml; } }

    3.4配置好nginx.conf文件后,重启nginx看看效果:

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

    nginx-sreload

    3.5在编辑器中输入http://publicnetwork:port,看效果如下:

    最后:

    关于如何将h5游戏部署到nginx服务器的这篇文章到此结束。有关在nginx中部署H5的更多信息,请搜索我们以前的文章或继续浏览下面的相关文章。希望大家以后能多多支持我们!

    欢迎分享,转载请注明来源:内存溢出

    原文地址: https://www.outofmemory.cn/zz/774489.html

    (0)
    打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
    上一篇 2022-05-03
    下一篇 2022-05-03

    发表评论

    登录后才能评论

    评论列表(0条)

    保存