iOS开发中 关于阿里云服务器的使用与安全策略 韩俊强的博客

本文涉及的产品
云服务器 ECS,每月免费额度200元 3个月
云服务器ECS,u1 2核4GB 1个月
简介: 使用背景:         云服务已经很多年了,早期没能加入使用云大军中的一员,后来后悔莫及。2015年记得当时没办法租用的虚拟主机三天两天挂了,导致我认认真真的考虑了一次,觉得还是要使用云服务器! 从免费的主机屋学习版到各种虚拟机的实验,再到之前是用300元左右买的别人的虚拟主机,空间有几G,感觉还行,正好又值他们搞活动,买两年送一年!预存还有返还!心动了,就没有任何考虑就预存了一千块! 开始的几个月感觉还行,速度什么的还过得去,就没去管网站的事了。


使用背景:

        云服务已经很多年了,早期没能加入使用云大军中的一员,后来后悔莫及。2015年记得当时没办法租用的虚拟主机三天两天挂了,导致我认认真真的考虑了一次,觉得还是要使用云服务器!

从免费的主机屋学习版到各种虚拟机的实验,再到之前是用300元左右买的别人的虚拟主机,空间有几G,感觉还行,正好又值他们搞活动,买两年送一年!预存还有返还!心动了,就没有任何考虑就预存了一千块!

开始的几个月感觉还行,速度什么的还过得去,就没去管网站的事了。由于平时比较忙,连自己都没去网站访问过,等到闲的时候登录网站的时候,傻眼了,出错了。好吧,提交对方的技术支持,技术支持处理得还挺快的,十几分钟就处理好了,当时心里还蛮高兴的,这服务真好!可是第二天再打开网站,又报错了,这一次是数据库出问题了,连接不上!在这之后,网站基本上隔几天就崩溃了,我网站的访问量并不大,当时也只有10几个IP,PV也没多高。这种现在一直延续到前一阵子,基本上一天挂一次,此时我已经无语了! 目前公司使用了移动开发这块儿,各种安全都要逐步考虑,千钧一发之际团队决定使用阿里云服务器。


关于项目迁移:

1.购买云服务器

关注阿里云,腾讯云已经很久了,一直觉得网站没什么流量,有点浪费。但是今年以来网站一直挂掉,就算来几个人也走了,狠下心来对腾讯云和阿里云作了个小比较,觉得还是阿里云比较划算,比较稳定。于是,选择购买了一个低配置1G内存,1G CPU,1M带宽,还添加了一个云盘20G(为什么要买云盘呢?最重要的是,一旦系统盘出错了要重新安装系统,个人数据放在数据盘,不会丢失!),再找了一个推荐码,总共下来600多元,感觉还是在可以接受的范围之内。考虑到性能问题,选择了Ubuntu 系统,感觉 CentOS 也可以,应该没有 Windows 启动内存大吧。

2.安装 PHP+Mysql 环境

在这里对不熟悉的同学不推荐自行安装,那样浪费宝贵的时间。我开始也是自己在那傻傻的一个一个安装,结果错误一大把,后来发现,阿里云有一个镜像市场,可以买各种镜像服务,我从中选了一个 10 元钱的 LNMP 镜像,还有一个30元的镜像(具体是哪些镜像就不说了,免得说我打广告),更傻瓜化,不过因为它启动了一个 web 服务管理控制台,我觉得肯定浪费了一部分的系统资源,还是10元的划算。

购买成功后进入管理控制台,云服务器,再进入实例管理,然后停止实例,停止后,再点击最右边的“更多”,点击“更换系统盘”,此时会弹出一个窗口,从镜像市场找到自己购买的镜像,然后按照指示等待更换完成。(这里说明一点,如果直接从镜像市场购买的云服务器+镜像整套的就可以直接略过,但应该比较少)

3.修改nginx默认的配置,运行缺省的网站

一般通过镜像安装的都会有一个默认站点,编辑 nginx 配置文件 sudo vi /etc/nginx/conf/vhosts/default.conf,找到前面有一个 ServerName,把它后面的值改成你的 IP地址(以后要绑定域名的时候也是改这个值),因为等下要从电脑浏览器访问默认的网站。改完后保存退出,执行命令 /etc/init.d/nginx restart 重启 nginx。现在可以通过电脑访问了,在地址栏输入云服务器的 IP,就可以看到默认首页的内容。

4.挂载云盘(熟手略过)

新买的云盘先要进行分区、格式化,然后才能挂载。(一般系统盘是 /dev/xvda,第一块云盘是 /dev/xvdb,第二块是 /dev/xvdc,以此类推)

分区:

fdisk -S 56 /dev/xvdb
依次输入“n”,“p”“1”,两次回车,“wq”

格式化:

mkfs.ext4 /dev/xvdb1

挂载:

mount -t ext4 /dev/xvdb1 /newdir/

以防以后系统启动没有被挂载,我们把挂载信息添加到 /etc/fstab 里面:

echo '/dev/xvdb1  /newdir ext4    defaults    0  0' >> /etc/fstab

5.修改网站根目录地址(重要)

同样是编辑nginx配置文件,sudo vi /etc/nginx/conf/vhosts/default.conf,在最前面(应该就是ServerName下面)找到 root /var/www 类似的一行,改成 root /newdir/site1 (/newdir/site1 是站点文件存放地址),然后再重启 nginx 服务。这里在 站点根目录下面建一个常用测试php的文件 test.php:

<?php
phpinfo();
?>

再打开浏览器,访问 test.php,就可以看到 php 测试页面数据了。

6.上传网站数据到云盘

如果默认安装了 ftp 的话,就可以直接上传了。我购买的镜像已经安装了 nsftp,不过以前没用过这东西,出了点小插曲。上传时,开始还行,后面就一直连接不上了,文件更加没法上传,之后查看错误信息才知道 nsftp 的根目录是不允许创建目录和文件的(不知道其他人有没有遇到过,也可能是我自己没处理好),我在终端的云盘ftp根目录创建了一个目录用于上传,比如 upload,然后一定要给 upload 这个目录的ftp用户权限,更改用户的命令是 chown –R 用户名:用户名 /newdir/upload/,然后修改目录权限:chmod 777 /newdir/upload。最后上传网站文件,再解压(最好是压缩后再上传,速度快流量少)到网站目录。


关于备案:

        之前一直使用的国外虚拟机或港租用主机,都没涉及到备案,不过大陆管控严格,本身移动这块规范化是相对较严的,为了长远考虑,选择了在阿里云备案。还好阿里云在备案期间还能正常访问网站,也未影响到移动部门的API开发测试,不然搞一下个把月就不要做事了。绑定域名的方法参照迁移的第三步,修改后重启nginx就行了。


关于安全:

 移动开发中对云安全要求相对也是比较高的,在开发过程中总结了几点安全组策略配置技巧:

1.安全组把它理解为4层防火墙即可,非常有用哦;

2.配置安全策略的时候,不要使用默认安全组,建议单独创建一个安全组,原因是:默认安全组里面的策略会应用到所有的ECS,其实每个ECS的策略会有不同。用户单独创建的安全组的默认规则:内网、外网默认规则军委出方向 accept all,入方向 deny all;

3.一定要搞清楚默认策略规则;

4.启用安全组策略的时候先添加策略,然后再配置默认策略为deny all,这样操作的好处是:不会造成业务中断;

5.安全防护策略的思路是:最小化,最小化,最小化,不信任,不信任,不信任,记住这个思路你的安全做的不会太差。


感想:

        之前一直做网站开发,现在转行移动开发后逐步对安全这块要求越来越严,尤其是高并发,高日活的App,要求服务器做到稳定,成本低,易管理,这也是大多数开发者希望的。


更新关注:http://weibo.com/hjq995  新浪微博!手机加iOS开发者交流QQ群: 446310206




相关实践学习
一小时快速掌握 SQL 语法
本实验带您学习SQL的基础语法,快速入门SQL。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情:&nbsp;https://www.aliyun.com/product/ecs
目录
相关文章
|
17天前
|
前端开发 数据处理 API
后端开发:构建稳健与高效的服务器逻辑
后端开发:构建稳健与高效的服务器逻辑
|
11天前
|
前端开发 Android开发 iOS开发
【Flutter前端技术开发专栏】Flutter在Android与iOS上的性能对比
【4月更文挑战第30天】Flutter 框架实现跨平台移动应用,通过一致的 UI 渲染(Skia 引擎)、热重载功能和响应式框架提高开发效率和用户体验。然而,Android 和 iOS 的系统差异、渲染机制及编译过程影响性能。性能对比显示,iOS 可能因硬件优化提供更流畅体验,而 Android 更具灵活性和广泛硬件支持。开发者可采用代码、资源优化和特定平台优化策略,利用性能分析工具提升应用性能。
【Flutter前端技术开发专栏】Flutter在Android与iOS上的性能对比
|
12天前
|
存储 Swift iOS开发
使用Swift开发一个简单的iOS应用的详细步骤。
使用Swift开发iOS应用的步骤包括:创建Xcode项目,设计界面(Storyboard或代码),定义数据模型,实现业务逻辑,连接界面和逻辑,处理数据存储(如Core Data),添加网络请求(必要时),调试与测试,根据测试结果优化改进,最后提交至App Store或其它平台发布。
32 0
|
12天前
|
安全 Swift iOS开发
【Swift 开发专栏】Swift 与 UIKit:构建 iOS 应用界面
【4月更文挑战第30天】本文探讨了Swift和UIKit在构建iOS应用界面的关键技术和实践方法。Swift的简洁语法、类型安全和高效编程模型,加上与UIKit的紧密集成,使开发者能便捷地创建用户界面。UIKit提供视图、控制器、布局、动画和事件处理等功能,支持灵活的界面设计。实践中,遵循设计原则,合理组织视图层次,运用布局和动画,以及实现响应式设计,能提升界面质量和用户体验。文章通过登录、列表和详情界面的实际案例展示了Swift与UIKit的结合应用。
|
12天前
|
存储 安全 Swift
【Swift 开发专栏】使用 Swift 开发一个简单的 iOS 应用
【4月更文挑战第30天】本文介绍了使用 Swift 开发简单 iOS 待办事项应用的步骤。首先,阐述了 iOS 开发的吸引力及 Swift 语言的优势。接着,详细说明了应用的需求和设计,包括添加、查看和删除待办事项的功能。开发步骤包括创建项目、界面搭建、数据存储、功能实现,并提供了相关代码示例。最后,强调了实际开发中需注意的细节和优化,旨在帮助初学者掌握 Swift 和 iOS 开发基础。
|
20天前
|
iOS开发 开发者 UED
利用SwiftUI构建动态列表:iOS开发的新范式
【4月更文挑战第22天】在本文中,我们将深入探讨如何使用SwiftUI来创建动态列表。SwiftUI是苹果最新推出的用户界面工具集,它允许开发者以声明式的方式描述用户界面,从而简化了代码的复杂性。我们将通过具体的代码实例,展示如何利用SwiftUI的List和ForEach视图来创建动态列表,并讨论其在实际开发中的应用。
20 2
|
24天前
|
API 定位技术 iOS开发
IOS开发基础知识:什么是 Cocoa Touch?它在 iOS 开发中的作用是什么?
【4月更文挑战第18天】**Cocoa Touch** 是iOS和Mac OS X应用的核心框架,包含面向对象库、运行时系统和触摸优化工具。它提供Mac验证的开发模式,强调触控接口和性能,涵盖3D图形、音频、网络及设备访问API,如相机和GPS。是构建高效iOS应用的基础,对开发者至关重要。
21 0
|
1月前
|
搜索推荐 iOS开发 开发者
利用SwiftUI构建动态用户界面:iOS开发新篇章
【4月更文挑战第10天】在移动应用的世界中,流畅的用户体验和引人注目的界面设计是至关重要的。随着SwiftUI的推出,iOS开发者被赋予了创造高度动态且响应式界面的能力。本文将深入探讨如何利用SwiftUI的强大特性来实现一个动态用户界面,包括其声明性语法、状态绑定以及视图更新机制。我们将通过一个天气应用案例,了解如何有效地运用这些工具来提升应用的交互性和视觉吸引力。
|
10天前
|
存储 弹性计算 固态存储
阿里云服务器CPU内存配置详细指南,如何选择合适云服务器配置?
阿里云服务器配置选择涉及CPU、内存、公网带宽和磁盘。个人开发者或中小企业推荐使用轻量应用服务器或ECS经济型e实例,如2核2G3M配置,适合低流量网站。企业用户则应选择企业级独享型ECS,如通用算力型u1、计算型c7或通用型g7,至少2核4G配置,公网带宽建议5M,系统盘可选SSD或ESSD云盘。选择时考虑实际应用需求和性能稳定性。
117 6
|
12天前
|
域名解析 弹性计算 Linux
阿里云购买云服务器、注册域名、备案及绑定图文教程参考
本文为大家介绍了2024年购买阿里云服务器和注册域名,绑定以及备案的教程,适合需要在阿里云购买云服务器、注册域名并备案的用户参考,新手用户可通过此文您了解在从购买云服务器到完成备案的流程。
阿里云购买云服务器、注册域名、备案及绑定图文教程参考

热门文章

最新文章