服务器配置和部署(待完善)
本文总结了这几个月配置和部署服务器的经验,便于今后查找。
准备工作
准备云服务器和操作系统
学生党由于腾讯云的优惠吸引,所以一直使用腾讯家的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配置。
服务器配置和部署(待完善)相关推荐
- 腾讯云服务器配置https 部署安装ssl证书
腾讯云服务器配置https 部署安装ssl证书 配置:CentOS 7 我是使用nginx服务器对Vue项目进行挂载,所以这里主要说明nginx服务器如何配置https服务 如何安装nginx Ngi ...
- tamcat服务器的项目配置,服务器配置tomcat部署项目
部署项目首先你需要把你的java web项目打包成war文件 在需要打包的项目上右键>选择[Export] 选中[Web]下面的[WAR file],点击[Next] 通过[Browse]选择保 ...
- 【IBM Tivoli Identity Manager 学习文档】3 系统部署
作者:gnuhpc 出处:http://www.cnblogs.com/gnuhpc/ ITIM 5.0 单服务器配置和部署. 部署ITIM之前要对其组件进行部署: IBM DB2 Enterpri ...
- 可以自动化部署吗_从自动化测试到持续部署,你需要了解这些!
摘要:在互联网的产品开发时代,产品迭代越来越频繁,"从功能开发完成直到成功部署"这一阶段被称为软件开发"最后一公里".很多开发团队也越来越认识到,自动化测试和持 ...
- .Net应用程序打包部署总结
编译源代码并完成测试以后,开发过程其实并没有结束.在这个极端,需要把应用程序提供给用户.无论是ASP.NET应用程序,客户端应用程序还是 Compact Framework构建的应用程序,开发出来的软 ...
- 劈荆斩棘:Gitlab 部署 CI 持续集成
阅读目录: install configue gitlab-ci-multi-runner restore nuget packages bulid .sln run unit tests confi ...
- 阿里云Centos系统下部署静态前端页面
声明:本篇文章系转载自作者https://blog.csdn.net/Kevinblant/article/details/103168451 仅作为学习笔记 经过亲自尝试,确认有效,成功搭建个人静态 ...
- Kubernetes集群部署实录
空降助手 环境准备 服务器配置信息 部署版本信息 关闭防火墙 禁用SELinux 关闭swap 修改hostname 配置hosts文件 runtime安装(docker安装) 安装记录 kubead ...
- WAF基本原理与部署方式
WAF介绍 WAF是什么? WAF的全称是(Web Application Firewall)即Web应用防火墙,简称WAF. 国际上公认的一种说法是:Web应用防火墙是通过执行一系列针对HTTP/H ...
最新文章
- 《21天学通C++(第7版)》——12.8 作业
- HDFS组件性能调优:数据平衡
- [转载红鱼儿]kbmmw 开发点滴:kbmMW:Unknown property:indexes
- C程序中变量存放方式介绍
- TensorFlow(七)tf.nn库
- php验证码函数 使用imagestring() imagefttext()设置字体大小
- 调用未绑定的父类方法和使用supper 函数 之间的选择.
- [转载] Java中的字符串处理
- 计算机学硕考研复试编程能力,苏州大学计算机学硕专业考研复试真题
- safri 对于display:block;的元素显示不出来 其他所有浏览器均正常
- 你开奖了吗?细数大厂春节红包背后的技术支撑
- ActiveMQ高可用集群的搭建
- 视音频编解码技术零基础学习方法
- FineReport自动数据点提示轮播接口
- 外贸软件进出口内贸综合型管理解决方案
- 什么是值传递,什么是引用传递。为什么说Java中只有值传递。
- STM32移植STemwin
- 研发过程管理与质量控制
- HDHCMS模板建立与栏目绑定的方法
- 华强北耳机值得买吗?质量怎么样?靠谱吗?深度拆解悦虎二代1562m耳机!
热门文章
- Win7关闭防火墙的脚本
- 用paddleocr识别汉字_基于Paddle的截图OCR文字识别的实现
- 风靡全球的华为手机投屏技巧!手机变成电脑,简直不要太酷!
- UITableView reload刷新闪动问题
- PS 2018CC安装完打开后,菜单界面的字体太大太小如何调整
- linux给音乐添加封面,利用ffmpeg读取音乐文件的专辑信息(包括专辑封面图片)
- 自主研发项目七之学生电子班牌系统
- mysql 安装插件 validate_password
- 爱江山更爱美人服务器维修,微信爱江山更爱美人修改版-微信爱江山更爱美人VIP满级修改版预约 v1.0.0-友情手机站...
- 我的世界网易版服务器文件,我的世界网易版服务器怎么加材质包-我的世界网易版服务器如何加材质包...