给你一台服务器,你能把你写的代码部署到线上吗?


作者:小傅哥
博客:https://bugstack.cn

沉淀、分享、成长,让自己和他人都能有所收获!

一、前言

购物返利 https://www.cpa5.cn/

给你一台服务器,你能把你写的代码部署到线上吗?

我们常常会听到这样一句话:“为了让研发只关心业务开发,我们做了某某某!”做了啥呢,做了让你不用关心,系统搭建技术框架核心组件通用模块以及上线应用时也只是点点点就可以了,也根本了解不到一台应用服务器是如何,部署环境开通端口申请域名配置SSL的。所以呢,大多数人的你变得越来越像车间中单一岗位的工具人,想在公司走到更高的岗位或者出了公司想做点事情,都会成为你的瓶颈!

一套完整的能力范围,要涵盖哪些方面?

  • 当我们以一个需求的诞生从承接到上线,这个过程中大概会经历的角色包括:业务、运营、产品、数据、研发(UI)、测试和运维,产品运用数据和模型,量化业务提出的需求,该如何迭代实现,满足运营使用完成业务目标,再由UI、前后端研发、测试完成项目的开发和验证以及部署到运维配置的线上环境中。
  • 站在程序员的角色上以这一整套流程来看,其实很大一部分研发人员只能在编程开发的范围内互动,从技术角色上离的最近的是测试和上线部署,但如果让研发自己去部署测试环境,搭建线上环境就会非常困难,不是说技术层面有多难,而是这个事情几乎就没有经历过,也没想过要去做一做试试。
  • 业务、运营、产品、数据中的模型、算法、量化,可能这一部分里研发人员就更远了,压根就不清楚因为什么场景、提出了什么目的、做了怎么的评估、提出了那些手段以及该如何落地,而到研发这能看到的可能仅仅是等待执行的 PRD,正因为总总是这样,所以才有那句话:“你离开公司可能就什么也干不了了!”

接下来,给小伙伴讲讲,我对热爱事情的折腾,不只是技术视野范围的拓宽,也可能让你有些意外收获!

二、在服务器上花出去的钱!

这种事你们可以花点钱嘛,花点,哪怕要呢,要不了多少钱!

汤师爷说,花点钱,我听进去了!

其实我一直从不会吝啬于技术学习上的消费,也不会把时间浪费到非个人能长期成长的其他做兼职的事上。从13年毕业工作开始,因为赚钱少,合租的几个伙伴们也有人会出去找点兼职赚钱,我是属于那种不但没周末去赚钱,还把额外省下的钱都买了域名和服务器,从最早的主机屋到百度开始有BCH云服务,也看过七牛云还用过百度云存储,一路折腾下来服务器上也花费了上万块。

这些钱都买啥了?仅域名就买过一堆,包括:itstack.org、yuyueqianli.com、fuzhengwe.cn、linuxjar.org、iteuds.cn、bugstack.cn等等,那服务器呢?服务器除了正常消费的,还买终身的!!!

虽然,花了不少钱,但也正是因为这些消费和不断的倒腾,让我学会了域名注册域名备案域名配置(A记录、CNAME记录、TXT)证书申请服务搭建宝塔应用配置环境Linux命令等等。当你有一条具体要做的事情时,你会以这条路径为指导,不断的搜索相应的资料并实践造作

造作,出第一个能看得过去的论坛,拥有稍许的流量!

  • 不过后来由于干不过一些流氓似的攻击以及 org 域名备案的影响,最终这个小论坛也挂在了奔走的路上。
  • 不过好在网站没白,从这里面还是学到了很多东西,包括:部署、上线,运维,在运维过程中发现的一些流量峰值、缓存处理、防刷处理、防盗链处理、用户注册与QQ关联、改造原有php代码,支持一些功能等等,挂的只是网站,但留下的是技术经验!

三、把花出去的钱赚回来了!

我这钱是怎么赚回来的?

在我搭建论坛、博客、贴吧似的功能并逐步有些许后,就开始有人联系我能不能给他们做一个这样的网站或者企业门户网站。正好当时还在传统行业的我,也有不少业余时间,每天五点半就能下班,当然有时间搞了。好!说干就干,一顿操作下,2年内接了不少私活,也赚了几万块,算是把服务器、域名的钱都赚回来了,也算没白折腾!

1. 企业门户网站(5000元)

企业门户网站(5000元)

  • 指数:⭐⭐⭐⭐
  • 背景:刚上班一年左右,高中同学问我学计算机能帮他们公司做个网站吗,就模仿老罗那个锤子公司的样式就行,5000块钱。
  • 结果:我接了,可能也是初生牛犊不怕虎,人家需要用PHP语言写!我一个学Java的,写了快一年的C#,之后用PHP给人家做一个企业门户网站,该说不说胆子挺大!
  • 收获:项目顺利部署完成,5000块钱如约到手,买了我第一个苹果手机 iPhone 4s,仍然在我身边。

我第一个苹果手机 iPhone 4s

2. 卖家具宣传网站(2000元)

  • 指数:⭐⭐⭐
  • 背景:14年年初,亲戚家开了一个制作水族箱的小作坊,也是得知我是学计算的。锣鼓喧天的找到我说做一个宣传他们公司商品的网站外面找人做太贵了!
  • 结果:钱咱也不好意思要,只是把服务器和域名等费用的钱要了,不过后来给了我个大红包 2000 元,嘿嘿,手一抖,收了!
  • 收获:得益于我已经接过一个项目,所以PHP开发起来也是很容易,按照他们当时喜欢的样式,做了一个仿照点点网的风格网站布局。这次赚的钱交房租了!

3. Netty通信框架(2000元)

Netty通信框架(2000元)

  • 指数:⭐⭐⭐
  • 背景:14年左右,开始喜欢搞Netty。可能也是当时网上的资料并不多,很多人因为我写了一整套的Netty案例找到我。也就有了这么一次问我能给写个Netty的通信框架不,2000元。
  • 结果:这也是当时头一次不用PHP,而是用Java语言赚到的钱。对我来说还是蛮简单的,1个5:30下班回家就写完了,第二天就给过去了。
  • 收获:知识真的可以变成钱,尤其是那些稍微有点难度,又搞的人不多的时候。

4. 讲课、数据采集(11000元)

除了上面接到的私活,还接到了不少七七八八的小活。

  • 本科生设计指导,1000元。来自猪八戒网。
  • 研究生加密算法,2000元。一个研究生伙伴跟我一起设计出来的,给我从他们学院申请的费用。
  • 在线给一个学生讲课,好像一天是50元,将来快1个月,1000元。
  • 一个物流数据综合平台,其实功能不算多,有点像记录外贸订单的,5000元。
  • 协助一个自己接项目的老板,写了一周Netty编解码部分代码,对接下位机。2000元。

就这样,七七八八的在那两年,赚了2万多块钱。当然还有一部分小的收入,不足1000的。也有被骗过,比如人家拿到项目了就不给钱了或是拿到截图了「我没加水印」,人家够演示的了,也不给钱了。

四、搞一台服务器咋用起来?

接下来,教教你怎么把一个服务器用起来!

对于一个在校的学校来说,或者是已经工作了,但从没有了解或者接触过服务器的配置,以及如何把自己的代码运行到服务器上。那么你可以参考下面的教程介绍,按照这样一个入门的指导把自己的代码也部署到服务器上试试。

可能还有很多小伙伴都不知道服务器能干嘛,简单来说,这就是不在家里,你的一台虚拟电脑,而且是 24小时运行不宕机的,你可以在上面练习网络编程(有公网IP)、中转服务器,以及如下:

  1. 搭博客:https://mp.weixin.qq.com/s/ZoQ0xAphJQkP_pb8H08BMg
  2. 搞论坛:phpwind、Discuz、wordpress(有博客和论坛等模板)
  3. 弄网盘:https://mp.weixin.qq.com/s/gzUrFexHcyCrw7XZ_L7N7w
  4. 聊天室:https://mp.weixin.qq.com/s/OmXCY4fTfDpkvjlg5ME0ZA
  5. 其他的:练习下自己的项目、搞个集群、玩玩ES、弄弄实战、留着接私活给别人部署演示

而这些内容的练习,都能让你把一整套从研发到运维的内容玩透,彻底的了解域名、备案、ssl、宝塔、Linux常用命令等等。

1. 先neng个服务器

首先,无论你是否有服务器,你都可以跟小傅哥一起学习关于服务器的使用。如果你还是一个新用户小白,那么可以跟着我的流程一起来,先neng一个便宜的服务器,学习使用即可。这里小傅哥给新人弄了个活动,79元即可买一台一年有效期的服务器,还是比我以前买的便宜多了!

  • 当你购买服务器的时候会看到,地域实例操作系统等,地域北京、上海、杭州的网速比较好,张家口的便宜但是网速会比较慢。操作系统默认即可,停机后可以更换。

2. 服务器介绍

在购买完服务器后,等待云平台数分钟初始化服务,完事就可以直接使用配置。如下:

  • 重置密码:点击你的实例,蓝色的这个字母,进入后再右侧有一个,重置实例密码,操作。
  • 远程链接:点击远程链接即可链接到你服务上,它是一个在线的操作。你可以通过本地的软件 xshell 链接到服务上去。
  • 更换系统:如果你对自己默认选择的系统不是很满意或者有其他需求,都可以点击停止系统,之后开始操作系统更换。

3. 系统更换成宝塔镜像

对于服务器系统来说你可以使用Linux命令安装各项服务组件,例如k8s、docker、jdk、tomcat、mysql或者php需要的内容等,但对于实际使用的运维来说,我们更希望运维成本越低越好,所以这里我们选择了宝塔,这样一个服务器运维面板来管理我们的服务器。

在各类的云平台上,包括:百度云、华为云、阿里云、腾讯云,都可以安装宝塔的,有的云平台还会有自己的已经准备好的宝塔镜像,这里我们以阿里云服务为例,把系统停机更好为宝塔。

停机

  • 位置:点击云服务的实例,就可以进入到这个页面
  • 操作:更换系统之前我们需要先进行停机操作,停机后就可以点击更换操作系统了

换系统

选镜像

  • 更换完系统进行确认订单,接下来会跳转到管理后台,这时稍等会,服务器会进行启动。

4. 配置并登录宝塔

远程登录

  • 这一步我们直接在网页上登录了,你也可以使用 xshell 登录公网IP

初始化宝塔

命令:[root@CodeGuide ~]# bt default

配置安全组

  • 宝塔的访问要配置 8888 端口,否则是不能访问到的,这个在服务器的安全组中开放即可。
  • 这里我们为了方便就直接开启全部的了,如果你是实际使用,可不能这样操作,否则很不安全!

登录宝塔

  • 地址:http://39.96.73.xxx:8888/ - 换成你的地址
  • 账号:用户名和密码已经在控制台打印,你可以复制自己的,登录宝塔后可以修改这个默认的密码

5. 安装阿帕奇和FTP

接下来我们在宝塔中安装一个阿帕奇服务器和FTP,这样就可以部署和访问我们的静态博客了,也就是一个html,如下:

安装 Apache

  • 安装过程中会自动的执行一些命令,这个你不用管,只要默默看着就行了。

安装 FTP

  • 安装 FTP 主要是为了通过本地可以把文件传送到服务器上,比如你的一个静态博客是 html,就可以通过 FTP 传到服务器上。

6. 网站配置

安装了阿帕奇和FTP我们就可以简单的配置一个站点了,有了这个站点就可以访问到我们自己的博客!

创建站点

  • 创建站点的适合如果你还没有申请域名,或者域名还没有备案呢,那么就可以直接把公网IP填写进来。

访问站点

  • 地址:http://39.96.73.167/ 在访问的时候,你换成自己的IP即可

7. 网站内容

  • 在宝塔的文件里,你可以选择第6步骤中添加的站点,在里面找到你的文件,做一些修改动作。这个时候在访问网站,就会发现内容已经是你新的内容了。

8. 域名配置

如果你有域名并已经备案好了,那么在创建站点的时候就可以直接把域名配置上,在访问你的网站的时候就可以通过域名访问了。

  • 添加域名:这个里面小傅哥配置的是已经申请好并备案了的域名,你配置成你的就可以。记得配置好域名后,需要在你的域名服务里,通过A记录把服务器IP映射配置上去。
  • FTP 配置:为了更加方便的上传你的文件,你可以把FTP打开,这样就可以通过FTP传输配置了。
  • 访问地址:http://blog.itedus.cn - 由于域名不是在阿里云,可能http会监测为未备案,拒绝访问

9. SSL 配置

关于 SSL 的申请可以有很多免费网站提供,也可以在宝塔中申请,如果你是用阿里云服务,可以免费申请20个 SSL 证书,另外如果你的域名和服务都是在阿里云,那么在申请 SSL 可以直接走 DNS 认证,否则你需要把 DNS 信息手动配置到你自己的域名上去。放心这个在申请的时候都有提示,按照说明配置即可

下载证书

因为我们需要把 ssl 配置到宝塔上,所以这里需要把 SSL 下载下来,选择 Apache 格式下载。

配置证书

  • 配置后点击保存即可,另外需要强制开启 HTTPS,否则你的网站访问 http 也能继续访问,就没有意义了。
  • 现在你就可以通过 https,访问自己的博客或者网站了,是不看上去高大上了不少!

10. 其他说明

可能你还希望配置 jdk、tomcat,没关系,在宝塔里你都可以安装,也可以安装 mysql,有了这些入门的内容,剩下的就可以搜索一些通用配置的内容,也可以在阿里云中搜索。

五、总结

  • 本文主要介绍了关于一些技术成长有哪些知识点和内容可以扩充你的知识面,以及关于运维服务器的一些操作知识的入门学习。有了这样一个基础的操作领你进门,接下来就可以扩展的搜索很多其他的内容,来完善你要做的一些部署了。
  • 另外本文没有介绍域名的注册和备案,这些内容还是很容易的,你只需要在云平台搜索域名或者百度搜索域名注册,都可以找到一个注册的入口。一般.cn的域名是比较便宜的,其他很多域名续费比较贵,另外像.org这样是不能备案的,所以不要选择太格鲁的域名。
  • 像是这样的知识一定是动手操作起来才能学到东西,可能在这个过程中你会遇到各种各样的问题,没关系,这些问题都是可以搜到的。

六、系列推荐

  • Cloudreve 自建云盘搭建,我说了没人能限得了我的容量和速度!
  • 20年3月27日,Github被攻击。我的GitPage博客也挂了,紧急修复之路,也教会你搭建 Jekyll 博客!
  • 为了把Github博客粉丝转移到公众号,我做了公众号开发并部署到云服务
  • hexo、docsify、jekyll、vuepress,博客搭建指导
  • 13年毕业,用两年时间从外包走进互联网大厂

你可能感兴趣的:(给你一台服务器,你能把你写的代码部署到线上吗?)