前言

这是一个基于中小型企业或团队的架构设计。

不考虑大厂。有充分的理由相信,大厂有绝对的实力来搭建一个相当复杂的环境。

中小型企业或团队是个什么样子?

  • 开发团队人员配置不全,部分人员身兼开发过程上下游的数个职责;

  • 没有专职的维护人员,或者维护人员实力不足以完全掌控生产和开发环境。

这种情况下,过于复杂的生产环境设计,规划、安装、调试、修改会牵扯太多的精力。一旦使用过程中出现问题,涉及的技术复杂性会带来不可预估的灾难。

同时,中小型团队的系统,也有其特殊要求,主要表现在:

  1. 生产环境的搭建要简单。这个主要是考虑到人员的技术实力。毕竟要求一个开发人员,能熟练安装各种系统的运行环境,是有点太高了;

  2. 生产环境的扩展性要足够。因为资金原因,通常前期的服务器资源会比较紧张,而一旦有资金进入,用户量会短时间扩大,服务器资源需求也相应扩大,就需要在不改动代码的情况下,通过简单的操作,把生产环境扩展成较大规模的架构;

  3. 需要充分考虑到开发环境与生产环境的衔接。国内大多数开发团队,是采用windows开发,linux布署的模式。这种模式下,开发和生产环境中各个部分的选择尤为重要。最理想的情况,是开发和生产在不同的操作系统下,同环境同代码,避免代码重编译和移植。

本文就是针对这样的要求,进行的设计。

一、服务器的操作系统

Linux。毫无疑问,服务器的操作系统,必须是linux。

很多人选择windows做为服务器操作系统,是因为windows更熟悉,有图形管理界面,比较容易操作。

但实际上,linux做为操作系统的优势更明显:

  1. 命令行跟图形界面,仅是输入方式的区别,从功能上没有实质性的区别;命令行更快捷,而且可以形成命令序列,即脚本。

    装linux一定不要装GUI,这是一个非常重要的习惯,而且会显得很专业

  2. Linux是开源免费的,或接近免费的,既不存在版权问题,也不存在成本问题。

  3. 在相同硬件的情况下,linux更容易获得更高的性能。更容易的意思是,不需要进行太多的配置和调整。在一般使用下,安装完直接使用,性能就很高了。

Linux有很多发行版。通常的选择是Redhat、CentOS、Debian。Redhat是个商业版本,有一定的费用。CentOS、Debian,是免费版本。

中小团队,收费版本就不考虑了。两个免费的版本中,CentOS相对激进点,预装软件会采用比较新的版本,甚至会有测试版本;Debian相对保守,预装的软件都是稳定的版本。另外,CentOS预装的软件比Debian多,所以体积大一些,启动时要加载的东西多一些。

我建议选择用Debian,稳定,占用硬盘小,占用运行内存少。

至于Ubunut、Arch Linux、Mint,学习linux的时候可以好好用,服务器上就算了。如果linux您自己本身不熟悉,就别自找麻烦。

至于linux的内核版本,在购买VPS服务器的时候,镜像都是做好的,没多少可选,用最高版本就好。内核的每个升级,都解决了一些问题,也带来了一些问题。如果不清楚这些问题在哪,或者不知道怎么解决这些问题,就假装不知道。操作系统的问题,包括BUG,包括遗留的内容,我们很难遇到的。

最后多说一句,服务器操作系统一定选择x64的版本,即64位的版本。在服务器上安装应用软件,也要优先选择x64的版本。现在的主流硬件,PC都是x64的,更别说服务器了。

Debian官网:https://www.debian.org

独立的服务器,需要从Debian官网下载ISO进行安装。云服务器,在购买时会先选择安装的镜像。安装的步骤略过,如果需要我可以另开一个贴子写写。

有几个简单的安全方面的内容需要注意:

  1. 远程连接服务器时,一定要用ssh。命令是:

ssh username@ip
ssh username@domain

Windows下没有内建的ssh命令,可以下一个Putty,也要使用ssh模式。

  1. 远程登录时,尽量少用root。安装完成后,建一个普通用户,用这个普通用户进行远程登录。进去后,用su升权或用sudo进行操作。

  2. 上传文件使用ssh通道。命令是:

scp source_file username@ip:~/target_folder/target_file
scp source_file username@domain:~/target_folder/target_file

Windows下可以装一个WinScp来上传文件。

  1. 小心使用网上建议的任何方式来改动服务器,除非你知道你在做什么。

  2. 在绝大多数情况下,自己开发的应用跑在服务器上时,如果服务器出现了CPU高或内存满的情况,去查代码,而不是怀疑服务器如何如何,也不是去调整服务器的运行参数。

(未完待续)

您的赞赏是我最大的鼓励

I will be more solid with your donations

15分钟从零开始搭建支持10w+用户的生产环境(一)相关推荐

  1. 15分钟从零开始搭建支持10w+用户的生产环境(三)

    上一篇文章介绍了这个架构中,选择MongoDB做为数据库的原因,及相关的安装操作. 原文地址:15分钟从零开始搭建支持10w+用户的生产环境(二)   三.WebServer 在SOA和gRPC大行其 ...

  2. 15分钟从零开始搭建支持10w+用户的生产环境(二)

    上一篇文章,把这个架构的起因,和操作系统的选择进行了详细说明. 原文地址:15分钟从零开始搭建支持10w+用户的生产环境(一)   二.数据库的选择 对于一个10W+用户的系统,数据库选择很重要. 一 ...

  3. 15分钟从零开始搭建支持10w+用户的生产环境(四)

    上一篇文章,介绍了这个架构中,WebServer的选择,以及整个架构中扩展时的思路. 原文地址:15分钟从零开始搭建支持10w+用户的生产环境(三)   五.架构实践 前边用了三篇文章,详细介绍了这个 ...

  4. 从零搭建webpack的react开发/生产环境

    一.初始化项目 在命令行中敲入如下命令: mkdir Webpack-react && cd Webpack-react && npm init -y 然后你就可以在你 ...

  5. [标题党]15分钟开发可支持百万观众的H5视频直播网站

    15分钟用Rails开发一个Blog有什么意思?那是2005年的Hipster追捧的玩具. 现在都已经是2015年了.HTML应该读作Hipster's Toolkit Made Live了. 既然是 ...

  6. Mesalink v1.0.0 发布,正式支持 TLS 1.3 和 IPv6,支持CMake编译,支持Windows,实现生产环境可用...

    百度智能云 云生态狂欢季 热门云产品1折起>>>   MesaLink TLS是百度安全实验室研发的下一代传输层安全(Transport Layer Security, TLS)库. ...

  7. 从零搭建基于 Java 的服务器生产环境

    之前的文章介绍了我最近开发的一款工具软件 移动工具箱,然而安装包放在华为应用市场上面,如果不安装华为应用市场就无法下载软件,无奈,只能自己从零搭建一个服务器来进行应用的宣传和下载.搭建一个服务器是很简 ...

  8. 《童虎学习笔记》15分钟ShardingSphere搭建PostgreSQL分库分表

    本文章配套视频 https://www.ixigua.com/7077056019024904717?id=7082741456641163790 本专栏全部文章 https://blog.csdn. ...

  9. 《从零开始搭建游戏服务器》Linux开发环境配置

    前言: 之前的开发工作一直是在Windows开发环境下进行的,但是正真发布和外网运营势必要发布到Linux环境下,而且有很多服务端的工具对于Windows系统的兼容性并不是非常完善,就像常用的Dock ...

最新文章

  1. Android 计时器 Chronometer
  2. Java RESTful Web Service实战
  3. HMM:Hidden Markov Model 代码讲解
  4. ios怎样在一个UIImageButton的里面加一些自己定义的箭头
  5. Servlet基础知识(二)——web.xml文件的作用
  6. Linux进阶之路————远程登录与vim编辑器
  7. 2021中国餐饮营销力白皮书
  8. 多少像素才合适 网页设计标准尺寸大讲解
  9. Polkamarkets推出Uniswap流动性计划
  10. 201621123083 《Java程序设计》第9周学习总结
  11. IDEA 统计插件Statistic:查看你的代码量
  12. 密码的输入问题(do while()和st1.equals(st2)的使用)
  13. linux ubuntu 五笔输入法,ubuntu下安装fcitx五笔输入法
  14. BTA | 厉晹Roy Li:浅谈区块链技术在企业级应用中的实践
  15. 2022 最新 IntelliJ IDEA 2022 详细配置步骤演示(图文版)
  16. 关于 RT-Thread 内核调度算法中 __rt_ffs函数为什么要检测 value值是否为0的疑问
  17. 详细的网络安全基础,一篇文章统统告诉你
  18. iOS常用开发工具及第三方框架
  19. Oracle数据库的嵌套查询
  20. 无线扩展器怎么连接好友服务器失败怎么办,华为WS331C无线扩展器图文设置方法...

热门文章

  1. android一句话搞定图片加载
  2. TextView 多文字字体颜色及多事件监听
  3. 代码优化从数据库里查数据
  4. window 效率神器:Wox
  5. 一个IT人的非典型职场十年 (5)
  6. 安装 pptpd 服务
  7. iPhone比小米贵3000,贵在哪里?
  8. XMLhttp学习应用
  9. 30分钟通过Kong实现.NET网关
  10. 基于事件驱动架构构建微服务第9部分:处理更新