阿里云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. java程序——随机数求和

    设计思路:用随机算法随机生成10个数(0~100),循环填充一个数组,然后在循环中显示数组内容,接着用一个循环计算数组元素的和,将结果也显示在消息框中. 流程图: 源代码: package test; ...

  2. 使用Yeoman自动构建Ember项目

    Yeoman是什么? Yeoman按照官方说法,它不只是一个工具,还是一个工作流.它其实包括了三个部分yo.grunt.bower,分别用于项目的启动.文件操作.包管理. Yo: Yo是一个项目初始化 ...

  3. 1.bootstrap的HTML文件编写规范

    1.head标签里面的内容 <!DOCTYPE html> <html lang="zh-cn"> <head> <!-- 页面编码 -- ...

  4. String类中的toCharArray()方法

    toCharArray()方法  该方法的作用是返回一个字符数组,该字符数组中存放了当前字符串中的所有字符 public class toChar1{ public static void main( ...

  5. Quartus 11进行编译Compile Design的时候出现错误near text ã

    1. 设计的工程在Compile Design的时候出现以下的错误,百思不得姐 Error (): Verilog HDL syntax error at div_5.v() near text ã ...

  6. Linux 批量删除文件后缀

    例子: [zengs@gene CASP9]$ lscasp9.ids T0526 T0538 T0550 T0562 T0574 T0586 T0598 T0610 T0622 T0634T0515 ...

  7. BInder浅析

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

  8. 玩转Node.js(二)

    玩转Node.js(二) 先来回顾上次的内容,上一次我们使用介绍了Node.js并写了第一个服务器端的Hello World程序,在这个Hello World程序中,请求自带的http模块并将其赋给h ...

  9. Pythontutor:可视化代码在内存的执行过程

    http://www.pythontutor.com/visualize.html今天去问开发一个Python浅拷贝的问题,开发给了一个神器,可以可视化代码在内存的执行过程,一看即懂,太NB了!~真是 ...

  10. Tornado详解

    1.Tornado路由系统 1.1 Tornado程序示例 新建一个tornadodemo.py, import tornado.ioloop import tornado.web user_info ...