阿里云完成Web开发环境

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介: 我们要部署的网站是 http://zlingspace.com专注于众包的网站,理念是我们的程序猿遍布天下。所以在这个基础上,我们对服务器的稳定还有安全性可靠性的要求非常之高。首先在阿里云上必须有一台自己的服务器,我装的Linux操作系统,非常的稳定高效,那我们就谈谈选择阿里云选择阿里云我就是看中了阿里云的高可用性 网站最重要的就是高可用性了,以及数据的安

我们要部署的网站是 http://zlingspace.com

专注于众包的网站,理念是我们的程序猿遍布天下。所以在这个基础上,我们对服务器的稳定还有安全性可靠性的要求非常之高。

首先在阿里云上必须有一台自己的服务器,我装的Linux操作系统,非常的稳定高效,那我们就谈谈选择阿里云

选择阿里云

我就是看中了阿里云的高可用性 网站最重要的就是高可用性了,以及数据的安全,如果哪个IDC动不动数据就全部丢失了,我想没哪个站长敢用,其实我之前和很多站长一样,都是对国内的IDC有偏见的。这也是我为啥第一个网站是选择国外的虚拟主机。其实在很多站长的眼里,国外的那些大的IDC才靠谱,数据放在他们那里才不会丢失。所以Linode这样的VPS以及像Hostmonster这样的虚拟主机商才被国内的人看好,说实话,他们做的确实不错,我这些都用过,数据真没有丢失过。 

刚开始用阿里云的时候,说实话,我对阿里云也是不放心的,所以我的数据全部通过rsync同步到了国外的AWS上,每天一备份,数据库也做了主从同步。后来当我用了一年多,以及对阿里云的了解更加深入之后,我才发现,我的担心多余了。 

先要从架构角度去说。好吧,又要谈到架构了,很多站长可能不知道,阿里云的云主机是架构在非常着名的飞天云计算系统上。你可能不知道,但是了解架构的技术员都会知道,这是淘宝、天猫等都在用的底层架构,你有看到过淘宝和天猫挂掉吗?(当然一两个页面偶尔不能访问和这个没关系,很多是上层应用的问题),相反,再看看京东、苏宁之流,搞个小活动动不动服务器就瘫了,你有看到双11的时候,大家在0点疯抢天猫红包的时候,天猫有挂掉吗?我想没有吧。这都得益于整个底层架构啊。

你想想,你的云主机和天猫都是架构在同一种集群上,你能不放心吗?相反,你再想想那些自称自己是“云”的所谓VPS服务商,搞个VPS就叫云来骗人,你敢用吗?只要母鸡一挂,你的VPS就挂了。再者,相比很多人都知道AWS曾经出现过很大的故障,但是你看过淘宝和天猫这几年有出过这么大的故障么?  

再谈数据。数据我也不用说太多了,刚才在说架构的时候已经谈过了。普通VPS的数据是写到母鸡的硬盘上的,其实大家都知道,硬盘是易耗品,本身机械硬盘还是会出故障,用个两三年,说不定就出故障了,而且母鸡的硬盘坏掉了,你的数据肯定就回不来了,一般的VPS服务商也不会花巨款去给你恢复数据的。所以很多VPS商才声称自己做了RAID几几之类的。RAID是个好技术,是能保证一定的数据完整性的,但是还是几块硬盘,还是会坏,所以Linode有单独的备份系统。  

阿里云就不一样了,刚才说过了,阿里云的云主机的硬盘是放在单独的网络存储集群上,而且你的数据每份都给保存3份,你每次写入一次数据,就会通过集群的交换机写入到集群的不同位置上。集群最重要的特点就是数据高可用,这么大的集群,随便坏掉几块硬盘影响么?直接拿另外地方存储的数据同步过来就行了。

那你会问,如果这3份数据所在的硬盘都坏掉了,那岂不是就没救了?好吧,其实我告诉你,这相当于你从一个沙滩上画出一平方米(当然只是假设啊,别当真),然后从这一平方米里面选3粒沙子,然后涂上颜色,然后混入到这一平方米里面,蒙上眼睛,再把这3粒沙子一起挑出来,你觉得这和你中5百万有啥区别呢。。。除非整个集群或者集群的百分之几十挂掉,才能轮到你的数据丢失吧,不过话说回来了,你在淘宝上注册的帐号有丢失过么(排除自己的违规导致删号一类的)?

所以总结一句话,阿里云是web应用的首选。

这里写图片描述

下面我们三步走

1:Linux下安装jdk7
2:Linux下装Tomcat安装并使用
3:Linux下装mysql并搞定编码问题

1 Linux下安装jdk7

我们文件上传之类的就是用跟linux联系的WinSCP,下载安装即可。
链接:http://pan.baidu.com/s/1boLOcAN 密码:ltjy

装好之后把我们要安装的jdk用这个软件放到我们想要放置的文件夹类。

这里写图片描述

把这个传上去之后,比如我们这里放在opt目录下。

tar.gz包:解压缩

    # mkdir /usr/java
    # cd /usr/java
    # tar -zxvf /software/jdk-7u79-linux-x64.tar.gz

这里写图片描述

生成链接以便版本升级(这一步可做可不做)

    # ln -s jdk1.7.0_55 latest
    # ln -s latest default

rpm包:(如果你是rpm包就用这个命令)

    # rpm -ivh jdk-7u55-linux-x64.rpm

执行成功之后,你可以在WinSCP看到解压好的jdk,可以重命名。

这里写图片描述

接下来就是配置环境变量了。

     # vi /etc/profile

进到如下的界面,按一下 i 就会进入编辑模式。

这里写图片描述

用键盘把光标移到最下边,加上

export JAVA_HOME=/usr/java/default
export JAVA_BIN=$JAVA_HOME/bin
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

这里写图片描述

这里介绍几个常用命令,如果要退出编辑页面就按Esc。然后输入指令。

    不保存退出  :q!
    保存并退出  :wq
    重    启  reboot

记得source一下使配置生效

    # source /etc/profile

这里写图片描述

这个时候报错了,很常见的错误,因为我的default是没有配置的,所以我得去改成我现在的文件名。

export JAVA_HOME=/usr/java/jdk1.7
export JAVA_BIN=$JAVA_HOME/bin
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

在测试,jdk已经装好了。

这里写图片描述

这里写图片描述

2 Linux下装Tomcat安装并使用

我们继续利用WinSCP上传tomcat到Linux。同时也放在opt下。

Tomcat的安装 解压缩

    # mkdir /usr/local/tomcat
    # cd /usr/local/tomcat
    # tar -zxvf /software/apache-tomcat-7.0.54.tar.gz
    生成链接以便版本升级
    # ln -s apache-tomcat-7.0.54 server

这里写图片描述

启动Tomcat

    # cd /usr/local/tomcat/server/bin
    # ./startup.sh

这里写图片描述

启动成功了。

这个时候我们在本地访问以下tomcat测试成功了没。

这里写图片描述

如果不能成功很有可能是防火墙的原因。

打开防火墙,使外部能访问

    # /sbin/iptables -I INPUT -p tcp --dport 8080 -j ACCEPT
    # service iptables save
    # service iptables restart
    或直接修改文件/etc/sysconfig/iptables.
    # vi /etc/sysconfig/iptables
    -A INPUT -p tcp -m tcp --dport 8080 -j ACCEPT

停止Tomcat

    # ./shutdown.sh

Tomcat的使用

1. 配置web管理帐号

修改文件conf/tomcat-users.xml,在<tomcat-users>元素中添加帐号密码,需要指定角色.

    # vi /usr/local/tomcat/server/conf/tomcat-users.xml
    <tomcat-users>
       <user name="admin" password="admin" roles="admin-gui,manager-gui" />
</tomcat-users>

2.配置web访问端口

可以修改conf目录下的文件server.xml,修改Connector元素(Tomcat的默认端口是8080),需要重新启动Tomcat服务生效.

    # vi /usr/local/tomcat/server/conf/server.xml
    <Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> 

3.配置https安全连接(ssl加密连接)

https连接需要用到数字证书与数字签名(MD5算法)
网站https连接首先需要申请数字证书,配置加密连接器,浏览器安装证书.
·使用Java的工具keytool产生数字证书

    # keytool -genkey -alias tomcat -keyalg RSA
     生成文件.keystore
     注意:CN为主机名称,本机可用localhost

·将文件.keystore放到Tomcat服务器的conf目录下

     # cp .keystore /usr/local/tomcat/server/conf/

·修改conf/server.xml文件,修改加密连接器,添加keystoreFile与keystorePass

    <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
               clientAuth="false" sslProtocol="TLS" 
               keystoreFile="conf/.keystore" keystorePass="123456"/>  

·重新启动tomcat.浏览器输入https://localhost:8443访问,并安装证书.

4.Tomcat的目录结构

·bin //存放Tomcat的命令脚本文件
·conf //存放Tomcat服务器的各种配置文件,最主要是server.xml
·lib //存放Tomcat服务器支撑jar包
·logs //存放日志文件
·temp //存放临时文件
·webapps //web应用所在目录,外界访问web资源的存放目录
·work //Tomcat的工作目录

5.web应用的目录结构

webapp – web应用所在目录
|— html, jsp, css, js文件等 – 这些文件一般在web应用根目录下,根目录下的文件外界可以直接访问.
|— WEB-INF 目录 – java类、jar包、web配置文件存在这个目录下,外界无法直接访问,由web服务器负责调用.
|— classes 目录 – java类
|— lib 目录 – java类运行所需要的jar包
|— web.xml 文件 – web应用的配置文件

6.虚拟主机的配置

指定虚拟主机名,修改conf/server.xml,添加<host>元素.

<host name="hostname.domainname" appBase="/webapps">
     <Context path="/webapp" docBase="/webapps/webapp"/>
   </host>

例:

<host name="www.163.com" appBase="/webapps">
   </host>
   <host name="mail.163.com" appBase="/mailapps">
   </host>

须设置DNS解析(host文件或DNS系统).

7.web应用和虚拟目录的映射.

可以修改xml配置文件的元素来设置web应用和虚拟目录的映射.
·conf/server.xml //在元素下添加,需要重新启动Tomcat服务生效,不建议使用.
·conf/context.xml //添加元素所有web应用有效.
·conf/[enginename]/[hostname]/context.xml.default //[enginename]一般是Catalina,主机[hostname]的所有web应用有效.
·conf/[enginename]/[hostname]/ //在目录下任意建一个文件(扩展名xml),文件名即为虚拟目录名.多级目录使用#分割. //缺省值web应用目录可以定义为ROOT.xml,添加,需重新启动Tomcat服务器.
·META-INF/context.xml //
可以将web应用放在webapps目录下让Tomcat服务器自动映射,适用开发环境,实际运用环境中不用自动映射。
如没有修改配置文件,web应用目录为ROOT时则为默认web应用。

8.web应用首页(welcome file)的配置

修改web应用的配置文件: [webapp]/WEB-INF/web.xml

 <welcome-file-list>
       <welcome-file>index.html</welcome-file>
       <welcome-file>index.htm</welcome-file>
       <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>

3 Linux下装mysql并搞定编码问题

开始我准备下载gz文件装的,这种也行,给个下载地址吧

http://dev.mysql.com/downloads/mysql/#downloads

这里写图片描述

下载完了解压,然后配两个文件就行,也不是很难,自己百度哈。

下面介绍一个超级简单的方法,但是要在线下载。

1.首先检查系统是否安装了MySQL

    #netstat  -tap |  grep  mysql

这里写图片描述

如果是上图就说明安装了需要先卸载掉。没安装会不现实。

2.安装MySQL

    #apt-get  install  MySQL-server  mysql-client

过一会儿会让你输入一个密码(忘记截图了),那是你数据库root用户的密码,输入两遍就好了。

接下来等着完成就好了,然后我们登录测试一下。

    mysql -uroot -p

然后输入你的密码就能成功登录说明装好了。

3. MySQL数据库的一些简单管理

1)停止服务

     #/etc/init.d/mysql  stop

2)开始服务

    #/etc/init.d/mysql start

3)修改管理员密码:

    #/mysqladmin -u root password newpassword

4)设置远程访问(正常情况下,MySQL占用3306端口只是在IP127.0.0.1 上监听,拒绝了其他IP的访问(通过netstat命令可以查看到),取消本地监听需要修改配置文件 my.cnf)

    #vim /etc/mysql/my.cnf

找到以下内容并且注释

    bind-address = 127.0.0.1 //找到并注释

解决编码问题

在my.cnf文件的[client]后面添加一句
default-character-set=utf8
( 不是default_character_set=utf8[i][/i],这个配置我没有试过,不知道能不能成功)

在[mysqld]后面添加如下三句:没有client的自行添加即可
default-storage-engine=INNODB
character-set-server=utf8
collation-server=utf8_general_ci;

下面改一下时间,默认是如果隔八个小时没人访问,数据库关了,我们设置一下延时。
修改操作:打开/etc/my.cnf,在属性组mysqld下面添加参数如下:
[mysqld]
interactive_timeout=28800000
wait_timeout=28800000

保存退出;
重新启动mysql服务器就可以。

再来查看字节编码,就全部都是utf-8了

这里写图片描述

MySQL安装后的目录结构分析(只针对 apt-get在线安装情况)

数据库存放目录: /var/lib/mysql/

相关配置文件存放目录: /usr/share/mysql

相关命令存放目录: /usr/bin (mysqladmin mysqldump等命令)

启动脚步存放目录: /etc/rc.d/init.d/

MySQL图像化管理软件

有两个:

1)开源:MySQL workbench

2)商业:Navicat

说在后面

说在后面的话就是告诉读者,从我们在选择阿里云之后,阿里云没有辜负我们的期望,我们的要求阿里云都能满足,而且能保质保量,值得信奈。

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
3月前
|
前端开发 JavaScript API
阿里云智能媒体服务IMS(Intelligent Media Services)的视频剪辑Web SDK
【1月更文挑战第15天】【1月更文挑战第72篇】阿里云智能媒体服务IMS(Intelligent Media Services)的视频剪辑Web SDK
54 6
|
5月前
|
Java
搭建Java Web开发环境
搭建Java Web开发环境
84 0
|
3月前
|
前端开发 API Docker
web前端开发项目走proxy代理后端接口,构建发布到生产等环境后,如何修改api接口
web前端开发项目走proxy代理后端接口,构建发布到生产等环境后,如何修改api接口
41 0
|
6天前
|
应用服务中间件 Linux 开发工具
如何在阿里云服务器快速搭建部署Nginx环境
以下是内容的摘要: 本文档主要介绍了在阿里云上购买和配置服务器的步骤,包括注册阿里云账号、实名认证、选择和购买云服务器、配置安全组、使用Xshell和Xftp进行远程连接和文件传输,以及安装和配置Nginx服务器的过程。在完成这些步骤后,你将能够在服务器上部署和运行自己的网站或应用。
|
7天前
|
存储 弹性计算 监控
阿里云函数的环境
【4月更文挑战第17天】阿里云函数的环境
22 1
|
13天前
|
云安全 数据采集 安全
阿里云安全产品,Web应用防火墙与云防火墙产品各自作用简介
阿里云提供两种关键安全产品:Web应用防火墙和云防火墙。Web应用防火墙专注网站安全,防护Web攻击、CC攻击和Bot防御,具备流量管理、大数据防御能力和简易部署。云防火墙是SaaS化的网络边界防护,管理南北向和东西向流量,提供访问控制、入侵防御和流量可视化。两者结合可实现全面的网络和应用安全。
阿里云安全产品,Web应用防火墙与云防火墙产品各自作用简介
|
1月前
|
弹性计算 算法 应用服务中间件
倚天使用|Nginx性能高27%,性价比1.5倍,基于阿里云倚天ECS的Web server实践
倚天710构建的ECS产品,基于云原生独立物理核、大cache,结合CIPU新架构,倚天ECS在Nginx场景下,具备强大的性能优势。相对典型x86,Http长连接场景性能收益27%,开启gzip压缩时性能收益达到74%。 同时阿里云G8y实例售价比G7实例低23%,是Web Server最佳选择。
|
2月前
|
存储
Spring5源码(52)-Web应用上下文环境创建
Spring5源码(52)-Web应用上下文环境创建
23 0
|
4月前
|
jenkins Java 应用服务中间件
Jenkins【部署 01】两种方式+两种环境部署最新版本 Jenkins v2.303.2 WAR包(直接使用 java -jar+使用Tomcat的Web端部署)
Jenkins【部署 01】两种方式+两种环境部署最新版本 Jenkins v2.303.2 WAR包(直接使用 java -jar+使用Tomcat的Web端部署)
72 0
|
4月前
|
Java 关系型数据库 Linux
搭建java部署环境以及部署Web项目到Linux
搭建java部署环境以及部署Web项目到Linux
搭建java部署环境以及部署Web项目到Linux

热门文章

最新文章