阿里云完成Web开发环境

    xiaoxiao2026-03-26  5

    我们要部署的网站是 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

    说在后面

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

    最新回复(0)