最近云技术的课程最后一部是让我们部署一个网站到云服务器让,要求用两个不同的操作系统,我在CSDN和哔哩哔哩找文章视频学习的同时发现,用宝塔面板做会比较简单,但是只有linux的宝塔教学,没有找到Windows的宝塔面板教学的文章和视频,我根据linux的做法,尝试去做windows系统的,只有稍许的不同,今天就发一下我做的步骤供大家参考学习。
1.进行阿里云的注册,使用支付宝进行登录

2.进行实名认证:

3.如果是新人账号,可以进行一个月的免费申请,先选择linux系统进行操作,建立一个云应用SEC,(可以用相同的方法建立windows系统的云服务器)

新人的免费额度是每小时0.99元,如果我们要建两个系统的话,配置就不能选太高,建议两个一核的系统即可,有需求的可以自行选择

选择到期释放,这样子就不用交钱,如果有需求可以自行设置。

申请

4.进入管理控制台:


1.开放实例端口,开放常用端口:21(FTP端口)、80(HTTP协议端口)、3306(MySQL端口)、8888(宝塔后台端口)等等;可以自己设置端口(两个系统共用一个安全组规则即可)

1.安装宝塔面板:
首先-停止实例>>磁盘和镜像>>更换操作系统
(更换操作系统的步骤是我在其他的文章中学来的,在他的文章中并没有说明更换操作系统的目的是什么,在我的理解中,更换操作系统的步骤就是为了提交下载好宝塔这个软件,因为还有一种做法是不更换操作系统,进入远程链接后使用命令行下载宝塔,我觉得更换操作系统的目的就是提前下载好宝塔不用进去再下载。)

从镜像市场选择宝塔面板。(不同的系统选择和自身系统相同的宝塔面板)(此处只展示Linux系统,Windows系统在最后补充)


安全设置:建议选择自定义密码

2.登录宝塔后台:
(windows和Linux会有所不同,Windows系统会在文章末尾进行补充)
输入网址:http://(你的实例ip):8888,进入宝塔后台,设置登录账号和密码

如果弹出这个页面

回到控制台,远程链接,任意选择一个连接方式,输入:/etc/init.d/bt default

如下图所示:可以得到ip地址和你的初始账号密码

输入外网面板地址进入宝塔后台

第一次登录宝塔要进行账号注册

3.安装运行环境:
进入后建议直接下载所推荐的软件就没那么麻烦(一核的系统下载比较慢);如果只做静态网页的话下载niginx就可以了,其他的有需求可以自行下载

4.添加站点:
域名直接用自己的公网ip地址即可,ftp与数据库可以自行选择开不开,选择好后提交

5.文件上传:
进入根目录,原来里面的东西可以删除,把你自己的项目放进去,上传进入,首页名称必须为index.html(后缀名随意)


6.输入网址(即你的公网ip访问你的网页)

7.修改宝塔面板账号密码:

---------------------------------------------------------------------------------------------------------------------------------
1.安装宝塔面板:
首先-停止实例>>磁盘和镜像>>更换操作系统

从镜像市场选择宝塔面板。

更换完后直接进行远程连接


2.打开宝塔面板:

如果端口被占用就换一个端口,自己设置一个,设置好的端口要到实例,进行安全规则的配置
保存配置后,打开面板,输入初始账号密码登录:

下载插件,添加站点,上传文件完成后,输入网址打开网站

3.其他的步骤与Linux系统操作步骤相同,请见上文
Windows系统:主页
我正在学习如何使用Nokogiri,根据这段代码我遇到了一些问题:require'rubygems'require'mechanize'post_agent=WWW::Mechanize.newpost_page=post_agent.get('http://www.vbulletin.org/forum/showthread.php?t=230708')puts"\nabsolutepathwithtbodygivesnil"putspost_page.parser.xpath('/html/body/div/div/div/div/div/table/tbody/tr/td/div
我有一个Ruby程序,它使用rubyzip压缩XML文件的目录树。gem。我的问题是文件开始变得很重,我想提高压缩级别,因为压缩时间不是问题。我在rubyzipdocumentation中找不到一种为创建的ZIP文件指定压缩级别的方法。有人知道如何更改此设置吗?是否有另一个允许指定压缩级别的Ruby库? 最佳答案 这是我通过查看rubyzip内部创建的代码。level=Zlib::BEST_COMPRESSIONZip::ZipOutputStream.open(zip_file)do|zip|Dir.glob("**/*")d
类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
很好奇,就使用rubyonrails自动化单元测试而言,你们正在做什么?您是否创建了一个脚本来在cron中运行rake作业并将结果邮寄给您?git中的预提交Hook?只是手动调用?我完全理解测试,但想知道在错误发生之前捕获错误的最佳实践是什么。让我们理所当然地认为测试本身是完美无缺的,并且可以正常工作。下一步是什么以确保他们在正确的时间将可能有害的结果传达给您? 最佳答案 不确定您到底想听什么,但是有几个级别的自动代码库控制:在处理某项功能时,您可以使用类似autotest的内容获得关于哪些有效,哪些无效的即时反馈。要确保您的提
假设我做了一个模块如下:m=Module.newdoclassCendend三个问题:除了对m的引用之外,还有什么方法可以访问C和m中的其他内容?我可以在创建匿名模块后为其命名吗(就像我输入“module...”一样)?如何在使用完匿名模块后将其删除,使其定义的常量不再存在? 最佳答案 三个答案:是的,使用ObjectSpace.此代码使c引用你的类(class)C不引用m:c=nilObjectSpace.each_object{|obj|c=objif(Class===objandobj.name=~/::C$/)}当然这取决于
我正在尝试使用ruby和Savon来使用网络服务。测试服务为http://www.webservicex.net/WS/WSDetails.aspx?WSID=9&CATID=2require'rubygems'require'savon'client=Savon::Client.new"http://www.webservicex.net/stockquote.asmx?WSDL"client.get_quotedo|soap|soap.body={:symbol=>"AAPL"}end返回SOAP异常。检查soap信封,在我看来soap请求没有正确的命名空间。任何人都可以建议我
关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭4年前。Improvethisquestion我想在固定时间创建一系列低音和高音调的哔哔声。例如:在150毫秒时发出高音调的蜂鸣声在151毫秒时发出低音调的蜂鸣声200毫秒时发出低音调的蜂鸣声250毫秒的高音调蜂鸣声有没有办法在Ruby或Python中做到这一点?我真的不在乎输出编码是什么(.wav、.mp3、.ogg等等),但我确实想创建一个输出文件。
我在我的项目目录中完成了compasscreate.和compassinitrails。几个问题:我已将我的.sass文件放在public/stylesheets中。这是放置它们的正确位置吗?当我运行compasswatch时,它不会自动编译这些.sass文件。我必须手动指定文件:compasswatchpublic/stylesheets/myfile.sass等。如何让它自动运行?文件ie.css、print.css和screen.css已放在stylesheets/compiled。如何在编译后不让它们重新出现的情况下删除它们?我自己编译的.sass文件编译成compiled/t
我想安装一个带有一些身份验证的私有(private)Rubygem服务器。我希望能够使用公共(public)Ubuntu服务器托管内部gem。我读到了http://docs.rubygems.org/read/chapter/18.但是那个没有身份验证-如我所见。然后我读到了https://github.com/cwninja/geminabox.但是当我使用基本身份验证(他们在他们的Wiki中有)时,它会提示从我的服务器获取源。所以。如何制作带有身份验证的私有(private)Rubygem服务器?这是不可能的吗?谢谢。编辑:Geminabox问题。我尝试“捆绑”以安装新的gem..
我想将html转换为纯文本。不过,我不想只删除标签,我想智能地保留尽可能多的格式。为插入换行符标签,检测段落并格式化它们等。输入非常简单,通常是格式良好的html(不是整个文档,只是一堆内容,通常没有anchor或图像)。我可以将几个正则表达式放在一起,让我达到80%,但我认为可能有一些现有的解决方案更智能。 最佳答案 首先,不要尝试为此使用正则表达式。很有可能你会想出一个脆弱/脆弱的解决方案,它会随着HTML的变化而崩溃,或者很难管理和维护。您可以使用Nokogiri快速解析HTML并提取文本:require'nokogiri'h