草庐IT

10分钟部署一个别人可以访问的在线网站

阿里云技术 2023-05-14 原文

你是否幻想过拥有自己的个人网站?但是不会编程,没有任何网站搭建经验,搭建的时候也不知道怎么去选择系统……

等等这一系列疑惑让大部分人还没开始就选择放弃,本期教大家用一个最简单的方式,在10分钟内搭建一个线上的个人网站,而且是别人可以访问的呦~

如果你是有编程基础的小伙伴,你也可以在此基础上对网站进行修改,改成自己想要的模样。(文末有礼~

原视频:https://click.aliyun.com/m/1000356813/

如果你是零基础小伙伴也别担心,跟着本期教程至少你能够在10分钟内完整的搭建完这个项目,并且也会对整个项目上线运行和一些系统的选择等一系列问题有一定的初步了解,或许这将成为你以后进入编程领域的契机。

因为这次想要带大家尽可能地还原整个线上项目的搭建环境,也希望你们搭建完成的网站能让别人来访问,所以会用到公网IP或者服务器,我这里推荐的就是阿里云的云服务器。

进入到阿里云官网之后在右侧点击热门产品---云服务器ecs,进入到ecs云服务器页面。

现阶段阿里云有云服务器新人特惠活动,现在都是很便宜的价格,可以供大家体验试用。方便大家找到入口,我把链接贴在我的视频下方了,大家可以去使用:https://click.aliyun.com/m/1000356813/

这里是我平时正常去购买的时候进行的选项选择,购买的时候包年包月就好了。

区域可以选择所在本地,在网络上会有优势,但也不用过度在意区域这个选项,实例和规格最低的这款就够了1核1G的,大家按照需求选择。

X86或者ARW架构还是其他也同样按照需求,一般来说X86对我来说就足够了,接着用共享型就可以了。

在镜像选择环节里如果想省事,环境搭建不想自己操作的话,在镜像市场里面挑选公共镜像,有很多选择。

我们待会儿用到的系统是Java系统,搜索Java能获取很多免费镜像,完全够用。我个人倾向于my SQL,列表下面的CentOS、Nginx MySQL和Tomcat的镜像完全符合我们的需求。

选好镜像之后设置一下网络和安全组,这个部分没有特殊需要的话按默认的就好。

登录名默认root,设置好自己的账号密码就可以确认订单了。

购买完成之后,通过控制台确认刚才购买成功的服务器。

登录进去检查是否安装完成,镜像里提到的环境可以用它本身默认的控制台登录。

网页可以直接访问控制台。

确认Java1.8安装完成。

确认MySQL安装完成,整个镜像开始生效。但如果要作为一个项目,要让项目跑起来该怎么操作呢?

首先找到一个项目,这里我帮大家准备好啦~用这个halo项目就好啦。 这个项目是一个开源的博客平台,代码和许多设计都完善的比较全面。目前我在本地显示的这个项目我对他做了一些简单的修改,但是大家可以不做修改,我们先让项目跑起来。

运行项目的第1种方式适合有编程基础的小伙伴,可以像我一样把项目下载下来之后在本地进行修改编译,接着打包成一个jar包之后上传直接运行,它是一个springboot项目。

打包好的jar包怎么把它传输上去呢?我个人比较喜欢用fileZilla这样的一些工具。

这里为了方便演示,就先在指定的目录下面创建对应的文件夹,接着把文件拷贝,进去检查FileZilla是否生效,然后在里面执行,确认项目是否跑起来。

这里我们在user目录下面新建文件夹。

接着在FileZilla里面重新建立连接,检查是否创建成功。

在FileZilla里面的user目录下确认test文件夹是否新建成功。

接着把文件拖进新建的test文件夹里面,用Java的命令执行。

整个过程是正常的一个Springboot的项目。

接着只需要通过像IP加端口的方式就可以去访问整个项目,目前显示的是8090端口。

进入整个服务器上项目的后台,可以进行对应的数据录入之后,接着可以登录前台,就不给大家做演示了。

还有一个admin的管理台和整个项目的后台。

这里是大家可以去新建对应的信息。

在这里可能会发现8090端口访问不了。 可能是跟安全组有关系,我自已经对安全组进行了一个默认的修改,大家还是需要去看一下自己的安全组是否开放了所有的端口。

我这边所有的端口基本全开,这边的22端口就是在Filezilla里面默认连接的端口。这个是服务器默认开放的,我们可以直接连接。如果有访问不了的情况也可以自检是不是对应的安全组策略没添加,添加的时候大家只用去看看自己的端口。

比如这个像HTTP、HTTPS、Shell,对于这些端口都有默认的提示,直接复制很方便,然后去改动入口出口的一些端口。

端口修改完之后就可以正常访问了,整个项目也能跑起来。大家用这串命令在服务器就可以自动下载整个jar包,下载完成之后用刚刚提到的Java命令就能打包进行访问了。

如果有自定义对网站的需求,可以去开源网站把整个项目下载下来之后自定义修改重新打包上传到服务器上,上传到服务器也可以用命令行。

也可以直接把它直接拖进去,整个过程其实就是正常在公司进行项目开发的时候打个jar包上传到服务器上的过程,只是很多工具他帮我们去自动化实现了一整套的流程。

比如我们在本地开发好了上传到git上面,再通过编译软件帮我们去编译、执行、打包,接着自动上传到服务器上,没问题之后上线运行。

其实这些过程就是刚刚我们手动执行的这个过程,只是很多自动化的工具帮我们去做了,大家觉得好像没有经历过,自己来做的时候其实就相对简单很多。

是因为这个项目是别人开发好了我们直接拿来用,点进去会发现其实是很复杂的,我们自己要开发一个简单的项目,其实还比较简单。只是不断把他变得完善那就需要更多的时间和心血了,但这也是最有趣的地方和最能得到成长的地方。

我不知道对服务器购买的介绍,和对整个服务器打包进去再上传的过程介绍的够不够详细,所有的命令和网址我都会贴到评论区的文档里面,大家照着输出就好啦~

还有一点就是还是只能针对IP和端口进行访问,但是我们在正常上网的时候其实更多的是通过域名。

那是因为他们购买了域名,域名做了对应的备案以及域名解析之后才能达到这样的一个效果,大家在阿里云热门产品里面可以看到这样的服务。大家可以去注册一个自己个性化的域名,比如像我自己的‘aobingshuaishuai’,为什么打这么多字呢?因为这样的域名往往会比较便宜~

而且整个网站就会有备案,大约需要半个月左右的时间。正常情况其实通过IP访问就够了,就是IP很容易被攻击以及安全性低,但是大家只是做学习访问用是没有什么问题的。

以上就是本期的全部内容了,大家有什么疑问都可以在评论区问我,所有涉及到的资料和对应的链路我都会贴出来,希望大家有所收获。

以上就是本期的全部内容,拜拜。

有关10分钟部署一个别人可以访问的在线网站的更多相关文章

  1. ruby - 为什么我可以在 Ruby 中使用 Object#send 访问私有(private)/ protected 方法? - 2

    类classAprivatedeffooputs:fooendpublicdefbarputs:barendprivatedefzimputs:zimendprotecteddefdibputs:dibendendA的实例a=A.new测试a.foorescueputs:faila.barrescueputs:faila.zimrescueputs:faila.dibrescueputs:faila.gazrescueputs:fail测试输出failbarfailfailfail.发送测试[:foo,:bar,:zim,:dib,:gaz].each{|m|a.send(m)resc

  2. ruby - 使用 Vim Rails,您可以创建一个新的迁移文件并一次性打开它吗? - 2

    使用带有Rails插件的vim,您可以创建一个迁移文件,然后一次性打开该文件吗?textmate也可以这样吗? 最佳答案 你可以使用rails.vim然后做类似的事情::Rgeneratemigratonadd_foo_to_bar插件将打开迁移生成的文件,这正是您想要的。我不能代表textmate。 关于ruby-使用VimRails,您可以创建一个新的迁移文件并一次性打开它吗?,我们在StackOverflow上找到一个类似的问题: https://sta

  3. ruby - 我可以使用 Ruby 从 CSV 中删除列吗? - 2

    查看Ruby的CSV库的文档,我非常确定这是可能且简单的。我只需要使用Ruby删除CSV文件的前三列,但我没有成功运行它。 最佳答案 csv_table=CSV.read(file_path_in,:headers=>true)csv_table.delete("header_name")csv_table.to_csv#=>ThenewCSVinstringformat检查CSV::Table文档:http://ruby-doc.org/stdlib-1.9.2/libdoc/csv/rdoc/CSV/Table.html

  4. ruby-on-rails - 在混合/模块中覆盖模型的属性访问器 - 2

    我有一个包含模块的模型。我想在模块中覆盖模型的访问器方法。例如:classBlah这显然行不通。有什么想法可以实现吗? 最佳答案 您的代码看起来是正确的。我们正在毫无困难地使用这个确切的模式。如果我没记错的话,Rails使用#method_missing作为属性setter,因此您的模块将优先,阻止ActiveRecord的setter。如果您正在使用ActiveSupport::Concern(参见thisblogpost),那么您的实例方法需要进入一个特殊的模块:classBlah

  5. ruby - 续集在添加关联时访问many_to_many连接表 - 2

    我正在使用Sequel构建一个愿望list系统。我有一个wishlists和itemstable和一个items_wishlists连接表(该名称是续集选择的名称)。items_wishlists表还有一个用于facebookid的额外列(因此我可以存储opengraph操作),这是一个NOTNULL列。我还有Wishlist和Item具有续集many_to_many关联的模型已建立。Wishlist类也有:selectmany_to_many关联的选项设置为select:[:items.*,:items_wishlists__facebook_action_id].有没有一种方法可以

  6. ruby - 我可以使用 aws-sdk-ruby 在 AWS S3 上使用事务性文件删除/上传吗? - 2

    我发现ActiveRecord::Base.transaction在复杂方法中非常有效。我想知道是否可以在如下事务中从AWSS3上传/删除文件:S3Object.transactiondo#writeintofiles#raiseanexceptionend引发异常后,每个操作都应在S3上回滚。S3Object这可能吗?? 最佳答案 虽然S3API具有批量删除功能,但它不支持事务,因为每个删除操作都可以独立于其他操作成功/失败。该API不提供任何批量上传功能(通过PUT或POST),因此每个上传操作都是通过一个独立的API调用完成的

  7. ruby-on-rails - 每次我尝试部署时,我都会得到 - (gcloud.preview.app.deploy) 错误响应 : [4] DEADLINE_EXCEEDED - 2

    我是Google云的新手,我正在尝试对其进行首次部署。我的第一个部署是RubyonRails项目。我基本上是在关注thisguideinthegoogleclouddocumentation.唯一的区别是我使用的是我自己的项目,而不是他们提供的“helloworld”项目。这是我的app.yaml文件runtime:customvm:trueentrypoint:bundleexecrackup-p8080-Eproductionconfig.ruresources:cpu:0.5memory_gb:1.3disk_size_gb:10当我转到我的项目目录并运行gcloudprevie

  8. ruby - 有人可以帮助解释类创建的 post_initialize 回调吗 (Sandi Metz) - 2

    我正在阅读SandiMetz的POODR,并且遇到了一个我不太了解的编码原则。这是代码:classBicycleattr_reader:size,:chain,:tire_sizedefinitialize(args={})@size=args[:size]||1@chain=args[:chain]||2@tire_size=args[:tire_size]||3post_initialize(args)endendclassMountainBike此代码将为其各自的属性输出1,2,3,4,5。我不明白的是查找方法。当一辆山地自行车被实例化时,因为它没有自己的initialize方法

  9. ruby - 是否可以覆盖 gemfile 进行本地开发? - 2

    我们的git存储库中目前有一个Gemfile。但是,有一个gem我只在我的环境中本地使用(我的团队不使用它)。为了使用它,我必须将它添加到我们的Gemfile中,但每次我checkout到我们的master/dev主分支时,由于与跟踪的gemfile冲突,我必须删除它。我想要的是类似Gemfile.local的东西,它将继承从Gemfile导入的gems,但也允许在那里导入新的gems以供使用只有我的机器。此文件将在.gitignore中被忽略。这可能吗? 最佳答案 设置BUNDLE_GEMFILE环境变量:BUNDLE_GEMFI

  10. ruby - Ping ruby 网站? - 2

    在Ruby中可以使用哪些替代方法来ping一个ip地址?标准库“ping”库的功能似乎非常有限。我对在这里滚动我自己的代码不感兴趣。有没有好的gem?我应该接受它并忍受它吗?(我在Linux上使用Ruby1.8.6编写代码) 最佳答案 net-ping值得一看。它允许TCPping(如标准ruby​​ping),但也允许UDP、HTTP和ICMPping。ICMPping需要root权限,但其他则不需要。 关于ruby-Pingruby网站?,我们在StackOverflow上找到一个类

随机推荐