低成本搭建网站生产环境-反向代理

Posted 李德涛博客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了低成本搭建网站生产环境-反向代理相关的知识,希望对你有一定的参考价值。

        由于工作需要,本人除了开发还要做些必要的运维工作,因此积累了些生产环境搭建与优化的经验。本人还是个人站长,所以又对低成本运营网站十分关注。本文正是结合两者,试图通过技术解决运维成本的问题,而提出的设想。——目前已经在公司做产品展示环境搭建,进行了初步验证。

一、一个正常网站的成本分析

a) 域名

        域名是网站的名字,一般注册个新域名的成本在20-100元左右。优秀的域名大都被米农收购,需要用较高成本获取,价格有行情确定,极其优秀的域名可价值几百万甚至几千万(当然你要是有能力购买这类域名,就不会看本文章了)。

b) 网站服务器

        网站是程序,程序需要运行在计算机上。网站服务器就是运行网站程序的物理(或者虚拟)计算设备资源。这类计算设备资源有物理服务器、虚拟服务器(也叫vps或者ecs)、虚拟空间等,成本依次往下降低。一般使用php、asp或者jsp的cms进行建站的一般使用虚拟空间就够了,成本在每年几十到几千不等(主要与配置有关,也有免费的低配)。本文构思是由于网站使用了新的技术,传统虚拟空间无法满足要求,但虚拟服务器价格相对较高(对于一个穷酸秀才来说),此方案的核心思想是尽可能少的使用收费的计算资源,而只使用其网络资源。

c) 公网环境

d) 运营成本

        对于个人站长来说,运营成本可大可小,主要是花费些时间充实网站内容,做SEO,做产品或者服务营销。

二、反向代理降低成本的解决方案

a) 方案核心思想

        正如前文分析的,网站服务器(计算资源)与公网环境(网络资源),是网站运行的主要成本。目前主流的IDC服务商(万网——后来被阿里云收购、bluehost等)或者云计算服务商(阿里云、腾讯云、华为云等)已经能够提供相对廉价的计算资源与网络资源。

当对于预算有限的中小型站长来说,还是希望能进一步缩减成本。由于网络资源目前无更低成的替代方案,所以主要使用服务商的网络资源。而对于计算资源,则尽量使用已有的本地资源–想必一个即使个人台式电脑的计算能力也要比中高配云服务器的计算能力强不少。

        总之,充分利用服务商的网络资源,并尽量降低计算资源的成本。

b) 方案详情

        i. 从云计算商购买低配低成本的虚拟服务器(如阿里云的ECS)——以下称为“公网服务器”,主要使用网络资源。配置可以为1核cpu、1G内存、1M公网带宽。

        ii. 在本地接入稳定的家庭宽带。使用闲置的个人电脑当做计算资源(有必要时可以重装为linux系统,PC、笔记本、虚拟机都可以的)——以下称为“本地服务器”,要求此电脑24小时能稳定上网。

        iii. 在本地服务器搭建必要的网站运行环境,如web服务器(apache)、应用服务器(tomcat)、数据库服务器(mysql)等。并确保网站能在局域网正常访问。

        iv. 在公网服务器上安装openvpn服务端,在本地服务器安装openvpn客户端,并确保两个服务器在同一个局域网网段里。

        v. 在公网服务器安装代理服务器(apache),通过apache的vhost模块绑定网站域名,并配置vpn网段的反向代理——一般代理web服务(http)与接口服务(http与websocket)。

        vi. 在dns服务商(如阿里云、DNSpod等)把域名解析到公网服务器的公网IP上。

c) 方案评估

        i. 优点

        可以随时更换公网服务器而不用从头搭建生成环境,当然这样不利于SEO优化。

        ii. 缺点

        家庭带宽可靠性有限,本地服务器可能会被他人操作或者移动。


以上是关于低成本搭建网站生产环境-反向代理的主要内容,如果未能解决你的问题,请参考以下文章

结合Nginx反向代理搭建域名被墙网站的镜像网站

nginx反向代理配置相对路径

LNMP环境搭建记录(源码方式)

大型网站技术实践初级篇:借助Nginx搭建反向代理服务器

Vue Nginx反向代理配置 解决生产环境跨域

大型网站技术实践初级篇:借助Nginx搭建反向代理服务器