How to build aliyun service
您目前处于:技术核心竞争力  2017-05-17

一、搭建服务

1. ECS

购买

计费:包年包月

地域:华北2 A区

网络:经典网络

安全组ID:sg-25ska9ezr(支持 22 Linux 80 HTTP)

实例:1C1G(ecs.n1.tiny)

带宽:1Mbps(固定带宽)

镜像:公共镜像 Ubuntu 16.04 64位

存储:高效云盘 40G

配置

购买成功之后,会分配到公网IP和内网IP

  • 核实信息

  • 创建快照(firststart),设置自动快照策略

  • 设置安全组(配置访问数据库)

安骑士

wget 'https://update3.aegis.aliyun.com/download/AliAqsInstall_64.sh' 
&& sh AliAqsInstall_64.sh C563QT

安装云监控插件

sudo bash -c "wget -e 'http_proxy=hzcmsproxy.aliyun.com:3128' 
-O /tmp/cloudmonitor.tar.gz 
'http://cms-download.aliyun.com/release/1.1.64/linux64/agent-linux64-1.1.64-package.tar.gz' 
&& \
mkdir /usr/local/cloudmonitor && \
tar -xf  /tmp/cloudmonitor.tar.gz -C /usr/local/cloudmonitor && \
/usr/local/cloudmonitor/wrapper/bin/cloudmonitor.sh install && \
/usr/local/cloudmonitor/wrapper/bin/cloudmonitor.sh start"

连接管理终端,修改管理终端密码

创建用户,禁止 root 登录

  • 使用 SecureCRT/SSH 登录管理终端

  • 创建新用户,设置密码

#adduser tommy  //添加一个名为tommy的用户
#passwd tommy   //修改密码
Changing password for user tommy.
New UNIX password:     //在这里输入新密码
Retype new UNIX password:  //再次输入新密码
passwd: all authentication tokens updated successfully.
cat /etc/passwd //可以查看所有用户的列表
w //可以查看当前活跃的用户列表
cat /etc/group //查看用户组
  • 禁止 root 登录权限

vi /etc/ssh/sshd_config

把 #PermitRootLogin yes,修改为 PermitRootLogin no,修改完成后,保存退出,重启 sshd

service ssh restart
  • 配置新用户可以使用 tab 键

usermod -s /bin/bash 用户名

2. RDS

购买

计费:包年包月

地域:华北2 A区

网络:经典网络

数据库类型:MySQL 5.6

实例:3C240MB(rds.mys2.small)- 连接数:60 IOPS:150

(1C1G(rds.mysql.t1.small)- 连接数:300 IOPS:600)

存储:5G

配置

  • 创建账号

  • 创建数据库实例,授权账号

  • 设置数据库访问模式为内网专用,添加数据白名单

  • 设置监控与报警

3. OSS

购买

地域:华北2

类型:标准存储

Bucket权限:公共读

配置

  • 创建 Bucket

  • 管理 Object

  • 申请 OSS 域名

  • 自定义域名与 OSS 域名进行绑定

4. 域名 VIP

购买

DNS服务器: vip1.alidns.com   vip2.alidns.com

最低 TTL 值:600秒

子域名级别:5级

A 记录负载均衡:10条

URL 转发:2条

运营商线路:移动、电信、联通、教育网

运营商线路细分:联通(省份)、移动(省份)、电信(省份)

海外线路:海外

搜索引擎线路: 搜索引擎、百度、谷歌、必应

DNS 防护流量:2G

DNS 防护 QPS:2WQ/s

URL 转发服务器防护:共享10G

海外 DNS 防护:共享1G

国内监控节点:0个

最低监控频率:10分钟

监控任务数量:0个

域名更换次数:2次

配置

  • 绑定域名

  • DNS 修改(万网域名阿里云 DNS,将会为您自动切换至 VIPDNS)

5. CDN 加速

购买

计费方式:按带宽峰值计费

配置

  • 域名配置

CNAME:www.linkedkeeper.com.w.kunlunca.com

业务类型:图片小文件

源站设置(指定资源回源地址及端口,支持域名源站及IP源站,推荐使用OSS源站):202.106.0.20

回源host(自定义在CDN节点回源过程中所需访问的WEB服务器域名):www.linkedkeeper.com

协议跟随回源(回源使用协议和客户端访问资源的协议保持一致。注:源站需支持443端口):未开启

缓存过期时间(自定义指定资源内容的缓存过期时间规则,支持指定路径或者文件名后缀方式):0条规则

设置HTTP头(可设置http请求头,目前提供9个http请求头参数可供自行定义取值):0条规则

404页面(可自定义设置404、403、503、504等页面):0条规则

HTTPS设置(提供全链路HTTPS安全加速方案,支持证书上传和状态管理):未开启

强制跳转(自定义将用户的原请求方式进行强制跳转):默认

Refer防盗链(通过配置访问的 referer 黑白名单来对访问者身份进行识别和过滤,从而限制资源被访问的情况):未开启

鉴权配置(高级防盗链功能,设置鉴权 Key 对 URL 进行加密,保护用户源站资源):未开启

IP黑名单(进入黑名单的IP,表示此IP无法访问当前加速域名):已开启

页面优化(去除页面冗余内容如 html页面、内嵌 javascript 和 css 中的注释以及重复的空白符):已开启

智能压缩(对静态文件类型进行压缩,有效减少用户传输内容大小):已开启

过滤参数(回源时会去除 URL 中?之后的参数,有效提高文件缓存命中率,提升分发效率):未开启

Range回源(指客户端通知源站服务器只返回指定范围的部分内容,对于较大文件的分发加速有很大帮助):未开启

拖拽播放(开启即支持视音频点播的随机拖拽播放功能):未开启

  • DNS 修改(由 A 记录类型 变更为 CNAME 记录类型)

A 记录类型

CNAME 记录类型

二、部署环境

创建目录接口,root 授权账号

mkdir /aliyun
chown -R test:test /alidata

创建 service 目录

mkdir /aliyun/server

0. lrzsz

sudo apt-get update //解决Unable to locate packet问题
sudo apt-get install lrzsz

1. JRE

下载 jdk-7u79-linux-x64.tar.gz,上传服务器

tar zxvf jdk-7u79-linux-x64.tar.gz -C /alidata/server/java

配置环境变量

vim /etc/profile

加入环境变量内容

export JAVA_HOME=/alidata/server/java
export JRE_HOME=/alidata/server/java/jre
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$PATH:$JAVA_HOME/bin

执行生效

source /etc/profile

重启服务器,测试

java -version

2. Scala

下载 scala-2.11.7.tgz,上传服务器

tar zxvf jscala-2.11.7.tgz -C /alidata/server/scala

配置环境变量

vim /etc/profile

加入环境变量内容

export SCALA_HOME=/alidata/server/scala-2.11.7

export PATH=$PATH:$JAVA_HOME/bin:$SCALA_HOME/bin

执行生效

source /etc/profile

重启服务器,测试

scala -version

3. Nginx

下载 nginx-1.6.2.tar.gz,上传服务器

tar zxvf nginx-1.6.2.tar.gz -C /alidata/server/nginx

安装 gcc g++ 的依赖库

apt-get install build-essential
apt-get install libtool

安装 pcre依赖库

sudo apt-get update
sudo apt-get install libpcre3 libpcre3-dev

安装 zlib依赖库

apt-get install zlib1g-dev

安装 ssl依赖库

apt-get install openssl

配置

./configure --prefix=/alidata/server/nginx

安装

make
make install

查看端口状态

netstat -ano|grep 80

启动 Nginx

/alidata/server/nginx/sbin/nginx -c /alidata/server/nginx/conf/nginx/conf

查看 nginx 进程

ps -ef|grep nginx

三、部署工程

Tomcat

创建目录,上传项目

mkdir /alidata/www/data

下载 apache-tomcat-8.0.30.tar.gz,上传服务器

tar zxvf apache-tomcat-8.0.30.tar.gz -C /alidata/server/tomcat8-web1

配置 Tomcat 的 servce.xml

<Server port="8005" shutdown="SHUTDOWN">
  <Listener className="org.apache.catalina.startup.VersionLoggerListener" />
...
<Connector port="8085" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
...
<Connector port="8015" protocol="AJP/1.3" redirectPort="8443" />

 创建 ROOT.xml

mkdir /alidata/server/tomcat8-web1/conf/Catalina/localhost
<?xml version="1.0" encoding="UTF-8"?>
<Context path="" docBase="/alidata/www/data/project-web" 
debug="0" privileged="true" reloadable="true"/>

创建 log 目录

mkdir /alidata/log/project-web

启动 Tomcat

/alidata/server/tomcat8-web1/bin/startup.sh
tail -f /alidata/server/tomcat8-web1/log/catalina.out

清空 webapps 目录下的文件

Nginx

#user  nobody;
worker_processes  1;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;


events {
    worker_connections  1024;
}


http {
    include       mime.types;
    default_type  application/octet-stream;

    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';

    #access_log  logs/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    #gzip  on;

    include /alidata/server/nginx/conf/vhosts/*.conf;
}

配置 project-web.conf

mkdir /alidata/server/nginx/conf/vhosts/project-web.conf

配置内容

upstream projectWebCluster {
    server 127.0.0.1:8085;
}

server {
    listen       80;
    server_name  test.cn www.test.cn;

    location / {
        proxy_http_version 1.1;
        proxy_set_header Connection ""; 
        proxy_ignore_client_abort on;
 
        proxy_set_header     Host    $host;           
        proxy_set_header     X-Real-IP    $remote_addr;
        proxy_set_header     X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass           http://projectWebCluster;
    }

    access_log  /alidata/log/nginx/access/project-web.log;
}

重启 nginx

/alidata/server/nginx/sbin/nginx -s reload



本文受原创保护,未经作者授权,禁止转载。 linkedkeeper.com (文/张松然)  ©著作权归作者所有