阿里云Ubuntu快速建站

有一个小笑话:

从前有个程序员遇到了一个问题。他想,没事,我懂,用线程就好了。现他有两个问题了。

本人小白,对网站部署什么都不懂,只是申请个阿里云服务器,把我的站点放上去。于是,铺天盖地的问题随之而来。现在总结一下流程,供同样的小白参考。

申请阿里云服务器

1.购买服务器

建站呢首先要有一个服务器。可以购买一个阿里云服务器学生认证后,首月只需10元费用,可以用来练习建站。由于学生身份,申请服务器时很多配置都是不可以更改的,如CPU内存带宽磁盘。但是可以自己选操作系统,可选的有WindowsCentOSUnbuntu。我申请的是申请Ubuntu 14.04作为平台。

2.登陆到管理控制台

申请成功后,可以登录到阿里云的管理控制台,通过左侧产品与服务->云服务器ECS管理服务器。第一次管理时,会让你设置快照规则,如果不懂可以跳过该步骤,接下来会讲解。

3.实例

实例就是指你从阿里云买了多少台服务器。刚刚只买了一台Ubuntu,所以只有一个实例。如果以后有钱了,买了好多台,可以通过实例统一管理。

4.磁盘

磁盘很好理解。刚申请的学生服务器,只能选择40G普通云盘。Ubuntu就住在这块磁盘上。

5.快照

快照简单理解,就是磁盘备份。阿里帮你定期将磁盘备份,你可以在自动快照策略中设置每隔多久备份一次,备份哪个磁盘。可以在快照列表中看到已经备份的磁盘镜像。快照目前是免费的,不用白不用。

6.其他选项

镜像安全组我也不知道是什么鬼。标签管理没用过。操作日志顾名思义。

7.实例管理

当然,我们的目的是建站,所以实例->管理才是最重要的。在实例->更多中可以关机、重启、改密码等。进入实例->管理后,实例详情允许我们修改实例名称、密码,查看Ubuntu的硬件、IP等。下方的本实例磁盘快照安全组安全防护一看就明白。


管理我的Ubuntu

1.用户名和密码

管理Ubuntu,一定要知道用户名和密码。用户名默认是root,不需要改。密码建议你起一个好记的,修改方式为基本信息->更多->重置密码,经手机验证后即可,假设密码Zhangsan123。修改密码后,需重启Ubuntu才生效。

2.两种方式

实例详情允许我们以两种方式管理Ubuntu: 连接管理终端SSH

连接管理终端

  • 连接管理终端,通过网页即可进入Ubuntu命令行。首次点击连接管理终端,会弹出一个6位数密码,该密码只用于从网页管理Ubuntu,也可以修改,如123456。然后在输入管理终端密码中输入密码123456,即可进入命令行。

  • 进入命令行后,以用户名root、密码Zhangsan123进行验证。通过后即弹出欢迎界面。

连接管理终端方便快捷,但是显得不够专业。于是SSH满足了我们装逼的需求

SSH

  • 我的电脑是Windows,可以下载PuttySecure Shell Client。如果你是Mac或Linux用户,可参考基本信息->更多->连接帮助。用SSH登陆,还需一个IP地址,这个IP就是配置信息->公网IP,也可通过基本信息->更多->连接帮助查询。

  • OK,现在有了用户名root、密码Zhangsan123、IP地址,就可以利用SSH装逼了。我强力推荐Secure Shell Client,因为它附带File Transfer,可以很方便地使本地Windows与Ubuntu进行文件互动,比如上传、下载、删除。后续我就会用到File Transfer

3.准备部署

我们申请到的服务器,是一个空白的Linux。不搭建好经典的LAMP,别人是访问不到我们的站点的。


阿里一键安装Web环境

1.下载一键安装包

自己部署Web环境,对小白来说真是如噩梦一般。阿里工程师就为我们提供了傻瓜式一键安装包。这是官方说明,这是另一个比较好的教程
这个安装包是收费的,人民币2元。我不会告诉你,在上面这个教程中,可以下载到。其实我用的就是这位前辈分享的资源。

  • 使用这个安装包,会自动卸载以前装过的mysql、apache等,所以要先备份。

  • 如果已经安装过一次一键安装包,再次安装时会清理之前一键安装包安装过的环境,所以要备份/alidata目录。

2. 上传安装包到Ubuntu

在Windows上,将一键安装包解压缩后,用File Transfersh-1.4.4文件夹上传到Ubuntu的/root下。官方推荐用xshell+Xftp,我认为Secure Shell Client及其File Transfer完全可以胜任。

3.Ubuntu上运行安装包

使用连接管理终端SSH登入到命令行后,依次执行:

   cd /root
chmod –R 777 sh-1.4.4
cd sh-1.4.4
./install.sh

4.选择版本

接下来选择要LAMP(Linux+Apache+MySQL+PHP)中AMP版本。命令行中会给出提示,让你用数字表示你的选择。这里选:apache服务器数字2、apache版本2.4.20数字2、php版本5.5.7数字3、mysql版本5.5.40数字2

5.发呆

大约半个小时安装完毕。可以用netstat –tunpl检查一下运行状态的服务及端口

也可以cat /alidata/website-info.log查看刚才安装软件的版本信息。与你网站所有相关的东西,都在/alidata这个文件夹下。

6.修改mysql密码

用安装工具安装的mqsql及ftp,会使用保存在acount.log中的默认密码,可通过cat /root/sh-1.4.4/acount.log查看。

这个密码并不友好,可以通过如下命令修改:

    mysqladmin –uroot –p旧密码 password 新密码
  • -u和root之间没有空格

  • -p和旧密码之间没有空格

  • password和新密码之间有空格。

比如把新密码也改为root,方便记忆:

    mysqladmin –uroot –p9ad0cd53c9 password root

7.远程管理mysql

这里介绍phpMyAdminMySQL-Front

  • phpMyAdmin
    一键安装包已经为我们下载好了phpMyAdmin,就在/alidata/www/phpwind下。在浏览器输入http://公网IP/phpmyadmin,就可以访问phpMyAdmin了。

  • MySQL-Front
    要让你的Windows有权访问mysql。进入mysql,执行

    use mysql;
select user,host from user;

看看谁有权限访问mysql。很不幸,默认情况下别人都没有权限。接下来为我的windows赋予这样的权限:

    grant all privileges on *.* to "root"@"%" identified by "mysql密码";
flush privileges;

再执行select user,host from user;就可以看见,你的Windows已经有权限了。接下来打开MySQL-Front,简单配置一下即可使用了。
  

8.完成

至此,已经完成Web环境的搭建。


搭建Web站点

1.上传站点

File Transfer把站点目录XXX(如stationForWeb)上传到/alidata/www/phpwind目录下,即可通过http://公网IP/XXX访问自己的站点了。

2.修改配置

一键安装包的默认站点目录是/alidata/www/phpwind,所以通过http://公网IP访问服务器时,总是进入了phpwind这个自带的网站。如果希望进入自己创建的站点,可以:

  1. 将XXX上传到/alidata/www/下,即与phpwind平级。并修改目录所属的组:

    cd /alidata/www/
chown .www /alidata/www/XXX -R
  1. 修改apache的虚拟主机配置文件,默认情况下只有一个phpwind.conf文件。先将它替换为XXX.conf

    cd /alidata/server/httpd/conf/vhosts/
mv phpwind.conf XXX.conf
  1. vim修改XXX.conf内容为:

  2. 重启Apache服务:/etc/init.d/httpd restart

  3. 之后,通过http://公网IP访问时,就会进入自己的站点了。

3.删除phpwind

phpwind这个网站是一键安装包自带的,没有用,删了也无妨。在删除前,要把phpMyAdmin目录转移到XXX目录下,否则phpMyAdmin将无法使用。

    cd /alidata/www
mv phpwind/phpmyadmin XXX
rm –r phpwind

4.发布多个站点

如果我想发布多个站点,比如说想多加个test。则把test站点的文件夹,复制到/alidata/www/XXX下即可。可问题是,XXX是一个站点,test是另一个站点,二者没有任何关系。把test的文件夹复制到XXX下,并不符合逻辑,也不容易维护。

如果我想使每个站点都保持独立性,即在/alidata/www各每个站点有自己的文件夹,可以利用公网IP的不同端口。除了80外,还可选88、8011、8088、8888等等。

  1. 修改配置文件httpd.conf,监听多个端口

    cd /alidata/server/httpd/conf/
vim httpd.conf
  1. 找到Listen 80,在下面加一行Listen 8088

  2. 修改虚拟主机的配置文件,即之前的XXX.conf。我们不妨将它取个更合适的名字,比如httpd-vhosts.conf

    mv XXX.conf httpd-vhosts.conf
vim httpd-vhosts.conf
  1. 添加一个监听8088的虚拟主机

  2. 重启http服务:/etc/init.d/httpd restart

  3. 把test文件夹上传到/alidata/www下,通过http://公网IP:8088就可以访问了。


网站部署步骤总结

  1. 复制sh-1.4.4到/root下,改为777权限,执行./install.sh,选择版本安装。

  2. 可选修改mysql的密码。

  3. 可选如果想使用MySQL -Front,需进入mysql命令行,获取权限。

  4. 上传站点目录到www。

  5. 可选修改/alidata/server/httpd/conf/httpd.conf,添加监听的端口

  6. 修改/alidata/server/httpd/conf/vhosts/phpwind.conf,重命名为httpd-vhosts.conf,修改里面的目录名、日志名。多端口的话需添加Virtual Host

  7. 重启http服务。

  8. 可选将phpMyAdmin导出到站点目录下,删除phpWind目录。

阿里云Ubuntu快速建站的更多相关文章

  1. 云服务器 ECS > 建站教程 > 部署 LAMP (CentOS 7.2 ,Apache版本:2.4.23, Mysql 版本:5.7.17 , Php版本:7.0.12)

    云服务器 ECS > 建站教程 > 部署 LAMP (CentOS 7.2) 部署 LAMP (CentOS 7.2) 文档提供方:上海驻云信息科技有限公司    更新时间:2017-06 ...

  2. Python快速建站系列-Part.Three-注册和登录

    |版权声明:本文为博主原创文章,未经博主允许不得转载. 上一个Part已经给TSSS编好了一个简单的Web服务,网页的基础模版也写好了,那从这个Part开始就慢慢增加编写功能. 先写基础功能:注册和登 ...

  3. Python快速建站系列-Part.One-组装开发环境

    |版权声明:本文为博主原创文章,未经博主允许不得转载. 源代码都在github上:SmallStudyStation 现在是个demo,但回来会租个服务器,等功能完善了放到服务器上挂着,域名jusot ...

  4. 在阿里云Ubuntu 14.04 Linux服务器上安装docker

    参考 How To Install and Use Docker: Getting Started 这篇最靠谱的文档在阿里云 Ubuntu  14.04 服务器上成功安装 docker . ---- ...

  5. 【站长起步】阿里云+Ubuntu+java 7+ Tomcat 7 +Nginx1.6 +Mysql 5.6

    本文记载了在阿里云ubuntu+java 镜像环境下搭建站点server环境中遇到的的错误和解决方式. 作为一个年轻人,是肯定不会去用alidata这个现成的环境的.怎么办? 所有删除.立刻创建一个 ...

  6. 阿里云Ubuntu部署java web - 文件夹

    文件夹(点击章节标题阅读): 阿里云Ubuntu部署java web(1) - 系统配置         ssh链接server(使用终端远程链接)        加入用户        给用户赋予运 ...

  7. Uix Kit 快速建站前端开发套件-工具箱

    这个产品维护已经有一年了(由于业务需求不同,目前没有做中文版,产品本身是针对国外网站),自己本身是做UI出生,开发只是业余爱好,仅仅作为平时工作的需要.杂七杂八会一些前后端开发.并非职业码农! 我是一 ...

  8. 本地Windows远程桌面连接阿里云Ubuntu服务器

    本地Windows远程桌面连接阿里云Ubuntu 16.04服务器: 1.目的:希望通过本地的Windows远程桌面连接到阿里云的Ubuntu服务器,通过远程桌面图形界面的方式操作服务器. 2.条件: ...

  9. 阿里云Ubuntu下tomcat8.5配置SSL证书

    环境 阿里云ubuntu(18.04)服务器 阿里云申请的域名 Tomcat8.5.7 jdk1.8 免费型SSL证书 SSL证书申请 登录阿里云的官网,登录后在菜单中选择SSL证书(应用安全) 进入 ...

随机推荐

  1. JSONP解决跨域完整例子

    1.这个案例是仿照百度搜索,输入关键词,会出现下拉菜单的过程. 效果: 2.具体做法: (1)利用百度的数据库做script标签的src. 复制之后的地址是这样的 https://sp0.baidu. ...

  2. 【tomacat集群】Linux或 window配置多个Tomcat同时运行-完美解决-未来星开发团队-费元星

    Linux系统下怎样配置多个Tomcat同时运行呢,首先修改变量为第一个tomcat,然后修改第二个tomcat启动的脚本 如何在同一系统里同时启动多个Tomcat    http://www.cnb ...

  3. shuffle的过程分析

    shuffle的过程分析 shuffle阶段其实就是之前<MapReduce的原理及执行过程>中的步骤2.1.多个map任务的输出,按照不同的分区,通过网络copy到不同的reduce节点 ...

  4. virtualenv简介以及一个比较折腾的scrapy安装方法

    本文来自网易云社区 作者:沈高峰 virtualenv + pip 安装python软件包是一种非常好的选择,在大部分情况下安装python软件包是不需要求助于sa的. 使用自己的一个工作副本也是写p ...

  5. 《Cracking the Coding Interview》——第17章:普通题——题目6

    2014-04-28 22:49 题目:给定一个整数数组.如果你将其中一个子数组排序,那么整个数组都变得有序.找出所有这样子数组里最短的一个. 解法:线性时间,常数空间内可以解决,思想类似于动态规划. ...

  6. 《Cracking the Coding Interview》——第13章:C和C++——题目2

    2014-04-25 19:29 题目:对比一下哈希表和STL中的map的区别,哈希表如何实现?如果数据规模比较小,可以用什么来代替哈希表? 解法:哈希表可以理解为一堆桶,每个桶都有唯一的id,桶里可 ...

  7. USACO Section1.3 Mixing Milk 解题报告

    milk解题报告 —— icedream61 博客园(转载请注明出处)----------------------------------------------------------------- ...

  8. BInder浅析

    Binder是什么 Binder是运行在Android内核态用于进程间通信(IPC)的驱动,采用C/S架构,由三项基本组件组成:Binder服务端,Binder驱动,应用程序客户端. 为什么要用Bin ...

  9. MQ消息中间件

    MQ是什么? MQ是Message Queue消息队列的缩写.消息队列是一种应用程序对应用程序的通信方法.应用程序通过写和检索入列队的针对应用程序的数据(消息)来进行通信,而不需要专用连接来链接它们. ...

  10. python判断mongodb--find(),find_one()返回是否为空

    conn = MongoClient('127.0.0.1', 27017)db = conn.diffcollection = db['test1']result = collection.find ...