家里闲置笔记本有两三台了,放着也是放着,直接全部重装了centos,废物再利用。方便了平时开发需要的服务器环境,还省去了购买阿里云的大笔费用,一举多得!
前提条件
如何实现在家里搭建服务器呢?首先需要具备几个前提条件,如下:
一、打电话给运营商开通公网环境,此处所说的公网并不是固定IP的专线(专线太贵白嫖党用不起)。不过现在公网环境据说IP紧张,不一定能申请下来。得多打电话多跟客服沟通。
二、需要注册一个域名,不想花钱可以用花生壳的。想稳定一点推荐阿里的域名,价格也不贵一年几十块钱。域名用于动态绑定当前服务器的公网IP,防止IP变化后找不到服务器。
三、路由器一个,小米、TP均可。能够配置DMZ主机,或者端口转发即可。用于将服务器上的端口映射到公网上。
满足以上三个条件,恭喜你!我们就可以在家搭建服务器愉快地玩耍了。
服务搭建
服务器搭建步骤,如下:(服务器操作样例为centos7,路由器为小米路由器)
上网设置
路由器设置为桥接模式,接入运营商光猫。使用路由器拨号上网。(现在很多家里的宽带都是使用光猫自动拨号,需要改成路由器拨号,否则公网访问不到),如果家里是光猫自动拨号而且不知道拨号密码的,可以联系运营商上门修改。
服务器系统安装
将我们的电脑重装成Linux系统(其实windows也行),推荐安装CentOS7,安装步骤就不多赘述,网上案例挺多。
服务器局域网IP设置
vi
/etc/sysconfig/network-scripts/ifcfg-enp0s25 (ifcfg文件名称各系统有可能不相同)
服务器ssh远程登录设置
vi /etc/ssh/sshd_config 修改SSH配置信息
设置允许密码登录
PasswordAuthentication yes
防火墙开放
firewall-cmd --zone=public --add-port=22/tcp --permanent # 开放ssh 22端口
firewall-cmd --reload # 配置立即生效
端口映射
在路由器中设置内部端口对外部端口的映射,通过公网访问时使用外部端口
将ssh 22端口通过路由器映射到12222,通过公网ip:12222端口测试ssh是否能够正常访问(公网IP可以通过百度搜索ip查询获取),能正常访问恭喜你服务器已经搭建成功,可以在外面任何地方访问家里的服务器。
动态域名绑定(需要动态绑定源码地址可以留言)
由于白嫖的公网IP会经常变动,所有需要通过一个固定的域名来动态绑定服务器上的公网IP,以此达到无论何时何地都能找到自己服务器的目的。
1、如果你注册阿里的域名如何进行绑定呢?我开发了一个小程序,只需要在服务器上配置一个定时调度任务,定时刷新即可。
下载auto-ddns.tar.gz
在服务器root目录下 执行tar -zxvf auto-ddns.tar.gz解压
修改ali.properties,domain.properties配置为自己相关配置即可
执行.startup.sh即可
2、如果你使用的花生壳域名,可以通过脚本来绑定域名
vi checkIp.sh #编辑脚本
按i进行编辑,拷贝下面内容到shell文件中
#! /bin/bash
export lastip=$(cat myip)
export gongip=$(curl members.3322.org/dyndns/getip)
if [[ $lastip != $gongip ]];then
echo $gongip > myip
/usr/bin/curl http://***:****@ddns.oray.com/ph/update?hostname=****
fi
保存文件,输入下面的命令
:wq
脚本赋权限
chmod +x checkIp.sh
配置定时执行脚本
crontab -e
添加下面的定时任务
*/5 * * * * /root/auto-ddns/checkIp.sh
保存
:wq
完成上面的操作我们就可以愉快地使用家里的服务器了。