本文总结了这几个月配置和部署服务器的经验,便于今后查找。

准备工作

准备云服务器和操作系统

学生党由于腾讯云的优惠吸引,所以一直使用腾讯家的CVM。这部分的操作方法可以在直接参考腾讯云官网上的指导和文档。

关于服务器系统,个人习惯于使用Ubuntu系统,所以以下的实现以Ubuntu为准。关于本地系统,Window和Ubuntu混合使用,但是以Ubuntu为主。

登录

Ubuntu登录云服务器。可以直接使用终端执行: ssh username@IP,然后输入密码即可。也可使用SSH密钥登录,需先在云服务器控制台创建SSH密钥,然后分配到云服务器上(关机状态),然后将下载的私钥存在本地,在本地使用终端执行:ssh -i <私钥的绝对路径> username@IP 即可登录。

Windows登录云服务器。虽然可以使用Webshell,但是体验太差,推荐Xshell。

文件部署

关于文件传输(上传&下载)和部署,我用过三种方式:

1. Fabric脚本。这是一个python脚本,部署极其方便,使用方法可以参考:廖雪峰、伯乐在线。

2. Github仓库同步。这种方式相比前一种来说,操作稍微麻烦一点,需要许多手动操作。但是优点在于,在服务端修bug可以直接将修复后的代码push到Github上,有利于代码的同步。

3. FileZilla软件。本地是Windows系统时,曾使用过这款软件同步代码,但是效率较低,不推荐。

服务器环境配置

通常情况下,使用较多的软件包括:Python、PHP、MySQL、MongDB、Redis、Nginx、Apache、Supervisor等。每次搭建服务器只会使用到其中一部分软件,但是此处一起总结,具体情况请根据需求进行配置和组合。

Python

先检查是否已经安装了需要的python版本以及其pip。

通常需要安装相应的包,如下。

MySQLdb包,执行命令:

Tornado包,执行命令:

sudo apt-get install python-tornado

sudo apt-get install python3-tornado

Aiohttp包,执行命令:

MongoDB包,执行命令:

PHP

暂略。

MySQL

主要是安装一个mysql服务端。执行命令:

sudo apt-get install mysql-server

MongoDB

主要是安装一个mongodb服务端。执行命令:

sudo apt-get install 

Redis

暂略。

Nignx

安装Nginx,执行命令:

sudo apt-get install nginx

Nginx配置的方法,请参看我的另一篇博客:Nginx小结。

Apache

暂略。

Supervisor

这是个很不错的进程监管和托管软件,我一般将需要执行的服务端脚本都托管在这里只里执行(在此之前,我竟然使用了很久的screen命令来运行脚本和管理服务器)。

安装Supervisor,执行命令:

sudo apt-get install supervisor

配置Supervisor,暂略。

遇到过一个bug,不生成log。此时可以将command配置成:

python -u /xxx/xxx.py

此外可以将log文件的size调大一点。

服务器性能优化

负载均衡。(暂略)

服务器运维

服务器各种日志

服务器维护,最重要的是各种日志,日志的位置、各种日志的作用,应当清清楚楚。

系统级日志

Nginx日志

Supervisor日志

注意包括正常日志和错误日志。

服务器安全问题

云服务器帐号安全

服务器登录安全

服务器数据安全

数据备份。分为两种类型,云备份和本地备份。推荐二者配合使用。

云备份,将服务器重要数据备份到另一个云端,如云硬盘或另一个云服务器。

本地备份,可以使用fabric脚本进行备份。

SSL配置。

服务器配置和部署(待完善)相关推荐

  1. 腾讯云服务器配置https 部署安装ssl证书

    腾讯云服务器配置https 部署安装ssl证书 配置:CentOS 7 我是使用nginx服务器对Vue项目进行挂载,所以这里主要说明nginx服务器如何配置https服务 如何安装nginx Ngi ...

  2. tamcat服务器的项目配置,服务器配置tomcat部署项目

    部署项目首先你需要把你的java web项目打包成war文件 在需要打包的项目上右键>选择[Export] 选中[Web]下面的[WAR file],点击[Next] 通过[Browse]选择保 ...

  3. 【IBM Tivoli Identity Manager 学习文档】3 系统部署

    作者:gnuhpc  出处:http://www.cnblogs.com/gnuhpc/ ITIM 5.0 单服务器配置和部署. 部署ITIM之前要对其组件进行部署: IBM DB2 Enterpri ...

  4. 可以自动化部署吗_从自动化测试到持续部署,你需要了解这些!

    摘要:在互联网的产品开发时代,产品迭代越来越频繁,"从功能开发完成直到成功部署"这一阶段被称为软件开发"最后一公里".很多开发团队也越来越认识到,自动化测试和持 ...

  5. .Net应用程序打包部署总结

    编译源代码并完成测试以后,开发过程其实并没有结束.在这个极端,需要把应用程序提供给用户.无论是ASP.NET应用程序,客户端应用程序还是 Compact Framework构建的应用程序,开发出来的软 ...

  6. 劈荆斩棘:Gitlab 部署 CI 持续集成

    阅读目录: install configue gitlab-ci-multi-runner restore nuget packages bulid .sln run unit tests confi ...

  7. 阿里云Centos系统下部署静态前端页面

    声明:本篇文章系转载自作者https://blog.csdn.net/Kevinblant/article/details/103168451 仅作为学习笔记 经过亲自尝试,确认有效,成功搭建个人静态 ...

  8. Kubernetes集群部署实录

    空降助手 环境准备 服务器配置信息 部署版本信息 关闭防火墙 禁用SELinux 关闭swap 修改hostname 配置hosts文件 runtime安装(docker安装) 安装记录 kubead ...

  9. WAF基本原理与部署方式

    WAF介绍 WAF是什么? WAF的全称是(Web Application Firewall)即Web应用防火墙,简称WAF. 国际上公认的一种说法是:Web应用防火墙是通过执行一系列针对HTTP/H ...

最新文章

  1. 《21天学通C++(第7版)》——12.8 作业
  2. HDFS组件性能调优:数据平衡
  3. [转载红鱼儿]kbmmw 开发点滴:kbmMW:Unknown property:indexes
  4. C程序中变量存放方式介绍
  5. TensorFlow(七)tf.nn库
  6. php验证码函数 使用imagestring() imagefttext()设置字体大小
  7. 调用未绑定的父类方法和使用supper 函数 之间的选择.
  8. [转载] Java中的字符串处理
  9. 计算机学硕考研复试编程能力,苏州大学计算机学硕专业考研复试真题
  10. safri 对于display:block;的元素显示不出来 其他所有浏览器均正常
  11. 你开奖了吗?细数大厂春节红包背后的技术支撑
  12. ActiveMQ高可用集群的搭建
  13. 视音频编解码技术零基础学习方法
  14. FineReport自动数据点提示轮播接口
  15. 外贸软件进出口内贸综合型管理解决方案
  16. 什么是值传递,什么是引用传递。为什么说Java中只有值传递。
  17. STM32移植STemwin
  18. 研发过程管理与质量控制
  19. HDHCMS模板建立与栏目绑定的方法
  20. 华强北耳机值得买吗?质量怎么样?靠谱吗?深度拆解悦虎二代1562m耳机!

热门文章

  1. Win7关闭防火墙的脚本
  2. 用paddleocr识别汉字_基于Paddle的截图OCR文字识别的实现
  3. 风靡全球的华为手机投屏技巧!手机变成电脑,简直不要太酷!
  4. UITableView reload刷新闪动问题
  5. PS 2018CC安装完打开后,菜单界面的字体太大太小如何调整
  6. linux给音乐添加封面,利用ffmpeg读取音乐文件的专辑信息(包括专辑封面图片)
  7. 自主研发项目七之学生电子班牌系统
  8. mysql 安装插件 validate_password
  9. 爱江山更爱美人服务器维修,微信爱江山更爱美人修改版-微信爱江山更爱美人VIP满级修改版预约 v1.0.0-友情手机站...
  10. 我的世界网易版服务器文件,我的世界网易版服务器怎么加材质包-我的世界网易版服务器如何加材质包...