家庭宽带搭建个人服务器
想必大多数开发都有购买过各平台的云服务器,例如阿里云,腾讯云等等,来进行学习或建立网站。若非 新用户或学生,每年的服务器费用是一笔不小的开支,对于本不富裕的码农,更是雪上加霜。为了解决入门级服务器配置低,续费价格高昂的问题,有了以下研究。
如何判断家里宽带IP是公网IP还是内网IP?
有多种方法都可以判断本地(路由)IP是否公网IP,以下供小伙伴们参考。
百度输入ip 查看家庭网络实际公网ip地址

光猫改桥接路由拨号上网
可以通过网线连接光猫的lan口,超级管理员账户进入光猫后台 请勿修改任何配置,否则会遭遇维修师傅白眼
电信的默认,不同运营商超管账号不同自行百度。
不同省份光猫设备不一致,有动态密码的设备此方法无效,可直接电话运营商询问是否为公网ip
本机为例光猫后台地址192.168.1.1
telecomadmin
nE7jA%5m

路由器拨号配置宽带账号 宽带密码
光猫桥接 查看光猫wan口ip是否一致

可以查看到路由器的wan口ip地址与百度一致,恭喜你的家庭网络拥有公网ip地址。
无公网IP
可拨打运营商宽带服务电话,描述家庭安装智能设备需要公网地址
可以利用家中旧笔记本,旧主机,或者购买迷你主机等有网口,能安装系统设备。建议选择低功耗设备,毕竟服务器24小时开启,电费也是一笔开销。
本文将以一台自用低功耗(仅6w)迷你主机 作为服务器主机 配置如下:
CPU intel N4100
内存 8G
硬盘 64G
1个千兆网口,2个usb3.0,2个usb2.0 ,1个typec,1个TF卡槽,1个STATA接口,1个M.2接口
介绍:PVE是专业的虚拟机平台,提供一个家庭设备集中管理平台,你可以利用它安装任何你想要的系统,如win系统(win7、10、PE、XP等)、linux系统(黑群晖、centos、路由openwrt、ROS、LEDE、ubuntu等),它与同样是虚拟机EXSI平台比较优势的地方是:PVE是专为家庭设计打造的,永久免费的开源平台,在低配置的小主机上都能轻松运行的一款轻量级平台,推荐给大家
pve镜像
下载PVE的镜像文件(iso结尾文件)留着使用

可以利用软牒通进行制作
制作好的U盘插入主机USB接口设置好BIOS启动项配置
开机启动后是安装界面,按照上面的提示一步一步的来,我这里也详细介绍一下:
1、进入ISO启动后,选择install Proxmox VE进行安装:

2、进入自检画面,等待几秒:

3、出现相关协议,同意该协议,选择“I agree”

4、选择安装硬盘

5、接下来就是选择国家,地区,和使用键盘的样式
其它默认,只要将国家选择成China,如果没有可以手动填写,填完就下一步:

6、再来就是设置root登陆密码和邮箱
这个一定填写后记得,不然后面进不去后台就麻烦了,邮箱填写真实的邮箱即可:

7、系统自动分配IP、掩码、网关

8、安装等待
根据硬件性能,一般几分种到十分钟不等。

9、然后重启它:
(以防万一,重启前先移除ISO启动文件,也就是拨掉U盘)

10、重启后默认启动项就好
一般是从第一个启动,启动画面如下:

11、获取控制台URL
启动以后就会出现登陆信息提示,也就是控制台的URL访问地址,你可以用另外一台局域网内的电脑输入这个URL即能访问PVE的控制台:
比如我的是:https://10.0.2.15:8006(记住是https而不是http)

12、然后进入控制台登陆界面:
在另一台电脑上输入控制台地址:https://10.0.2.15:8006
语言请选择:chinese(中文)(英语六级以上的随意)、保存用户名(后面不用每次输入)、用户名:root、密码(你之前设置的)

13、登陆进来界面
登陆进去还有可能会弹出一个错误提示,可以无视它,关掉就好,登陆进来后,界如是这样的:

到此,PVE算是安装成功了,保姆级教程看起来很多,其实操作起来非常简单,跟着我操练一遍,你一定会看懂的,相信我,很简单的。
环境介绍
1、Proxmox VE系统
2、Centos 8.3.2011 X86_64,CentOS-8.3.2011-x86_64-minimal.iso 官网下载
1、上传CentOS镜像,点开“local”存储,点击“内容”,点击“上传”,选择iso镜像上传

2、点击“创建虚拟机”按钮,勾上“高级”,勾上“开机自启动”,名称填入虚拟机名称(例如CentOS),点击“下一步”

3、选择“使用CD/DVD光盘镜像文件(ISO)”,存储选择local,ISO镜像选择刚才上传的镜像,操作系统选择“Linux”,版本选择“5.X - 2.6 Kernel”即可,点击“下一步”

4、系统选项默认即可,点击“下一步”

5、硬盘默认即可,自己设置也没问题,点击“下一步”

6、CPU按照实际情况选择,点击“下一步”

7、内存,请按实际情况设置。点击“下一步”

8、网络,默认即可,点击“下一步”

9、确认配置,直接点击“完成”


由于家庭宽带是动态的公网IP 需要一个域名来方便访问
DDNS(Dynamic Domain Name Server,动态域名服务)是将用户的动态IP地址映射到一个固定的域名解析服务上,用户每次连接网络的时候客户端程序就会通过信息传递把该主机的动态IP地址传送给位于服务商主机上的服务器程序,服务器程序负责提供DNS服务并实现动态域名解析。
1.这里可以购买域名方式,或者利用路由器自带功能白嫖,下面展示的路由器的设置
路由设备DDNS 创建二级域名

或者通过花生壳实现公网访问内网主机

2.设置路由端口映射


我正在尝试使用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请求没有正确的命名空间。任何人都可以建议我
我想安装一个带有一些身份验证的私有(private)Rubygem服务器。我希望能够使用公共(public)Ubuntu服务器托管内部gem。我读到了http://docs.rubygems.org/read/chapter/18.但是那个没有身份验证-如我所见。然后我读到了https://github.com/cwninja/geminabox.但是当我使用基本身份验证(他们在他们的Wiki中有)时,它会提示从我的服务器获取源。所以。如何制作带有身份验证的私有(private)Rubygem服务器?这是不可能的吗?谢谢。编辑:Geminabox问题。我尝试“捆绑”以安装新的gem..
最近,当我启动我的Rails服务器时,我收到了一长串警告。虽然它不影响我的应用程序,但我想知道如何解决这些警告。我的估计是imagemagick以某种方式被调用了两次?当我在警告前后检查我的git日志时。我想知道如何解决这个问题。-bcrypt-ruby(3.1.2)-better_errors(1.0.1)+bcrypt(3.1.7)+bcrypt-ruby(3.1.5)-bcrypt(>=3.1.3)+better_errors(1.1.0)bcrypt和imagemagick有关系吗?/Users/rbchris/.rbenv/versions/2.0.0-p247/lib/ru
在Rails4.0.2中,我使用s3_direct_upload和aws-sdkgems直接为s3存储桶上传文件。在开发环境中它工作正常,但在生产环境中它会抛出如下错误,ActionView::Template::Error(noimplicitconversionofnilintoString)在View中,create_cv_url,:id=>"s3_uploader",:key=>"cv_uploads/{unique_id}/${filename}",:key_starts_with=>"cv_uploads/",:callback_param=>"cv[direct_uplo
我想在Ruby中创建一个用于开发目的的极其简单的Web服务器(不,不想使用现成的解决方案)。代码如下:#!/usr/bin/rubyrequire'socket'server=TCPServer.new('127.0.0.1',8080)whileconnection=server.acceptheaders=[]length=0whileline=connection.getsheaders想法是从命令行运行这个脚本,提供另一个脚本,它将在其标准输入上获取请求,并在其标准输出上返回完整的响应。到目前为止一切顺利,但事实证明这真的很脆弱,因为它在第二个请求上中断并出现错误:/usr/b
您如何在Rails中的实时服务器上进行有效调试,无论是在测试版/生产服务器上?我试过直接在服务器上修改文件,然后重启应用,但是修改好像没有生效,或者需要很长时间(缓存?)我也试过在本地做“脚本/服务器生产”,但是那很慢另一种选择是编码和部署,但效率很低。有人对他们如何有效地做到这一点有任何见解吗? 最佳答案 我会回答你的问题,即使我不同意这种热修补服务器代码的方式:)首先,你真的确定你已经重启了服务器吗?您可以通过跟踪日志文件来检查它。您更改的代码显示的View可能会被缓存。缓存页面位于tmp/cache文件夹下。您可以尝试手动删除
require"socket"server="irc.rizon.net"port="6667"nick="RubyIRCBot"channel="#0x40"s=TCPSocket.open(server,port)s.print("USERTesting",0)s.print("NICK#{nick}",0)s.print("JOIN#{channel}",0)这个IRC机器人没有连接到IRC服务器,我做错了什么? 最佳答案 失败并显示此消息::irc.shakeababy.net461*USER:Notenoughparame
我有一个使用PDFKit呈现网页的pdf版本的Rails应用程序。我使用Thin作为开发服务器。问题是当我处于开发模式时。当我使用“bundleexecrailss”启动我的服务器并尝试呈现任何PDF时,整个过程会陷入僵局,因为当您呈现PDF时,会向服务器请求一些额外的资源,如图像和css,看起来只有一个线程.如何配置Rails开发服务器以运行多个工作线程?非常感谢。 最佳答案 我找到的最简单的解决方案是unicorn.geminstallunicorn创建一个unicorn.conf:worker_processes3然后使用它:
关于如何使用git设置类似Dropbox的服务,您有什么建议吗?您认为git是解决此问题的合适工具吗?我在考虑使用git+rush解决方案,你觉得怎么样? 最佳答案 检查这个开源项目:https://github.com/hbons/SparkleShare来自项目的自述文件:Howdoesitwork?SparkleSharecreatesaspecialfolderonyourcomputer.Youcanaddremotelyhostedfolders(or"projects")tothisfolder.Theseprojec
我将以下代码放在一起用于一个简单的RubyTFTP服务器。它工作正常,因为它监听端口69并且我的TFTP客户端连接到它,我能够将数据包写入test.txt,但我不只是写入数据包,我希望能够从我的客户端通过TFTP传输文件到/temp目录。预先感谢您的帮助!require'socket.so'classTFTPServerdefinitialize(port)@port=portenddefstart@socket=UDPSocket.new@socket.bind('',@port)whiletruepacket=@socket.recvfrom(1024)putspacketFile