阿里云ecs部署Java环境

1、安装JDK8

在终端执行下载命令:wget http://download.oracle.com/otn-pub/java/jdk/8u151-b12/e758a0de34e24606bca991d704f6dcbf/jdk-8u151-linux-x64.tar.gz

# 直接下载只下载到download-fail-1505220.html的html文件。因为Oracle要求在下载JDK之前先要接受OTN条款。点击accept之后会生成对应的cookie。
解决办法如下。
wget --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie;" http://download.oracle.com/otn-pub/java/jdk/8u151-b12/e758a0de34e24606bca991d704f6dcbf/jdk-8u151-linux-x64.tar.gz

解压到/root/sdk
tar -xzvf jdk-8u151-linux-x64.tar.gz -C /root/sdk

2、安装gradle4.1
wget http://services.gradle.org/distributions/gradle-4.1-all.zip
unzip gradle-4.1-all.zip  -d /root/sdk

3、安装maven
wget http://mirrors.shuosc.org/apache/maven/maven-3/3.5.2/binaries/apache-maven-3.5.2-bin.tar.gz
tar -xzvf apache-maven-3.5.2-bin.tar.gz -C /root/sdk

将/root/sdk/apache-maven-3.5.2/conf/settings.xml文件,复制到~/.m2目录下

cp /root/sdk/apache-maven-3.5.2/conf/settings.xml ~/.m2

配置国内镜像,maven仓库国内有比较好用的镜像可以使用。

http://maven.aliyun.com/nexus/#view-repositories;public~browsestorage

在maven的settings.xml 文件里配置mirrors的子节点,添加如下mirror

<mirror>
    <id>nexus-aliyun</id>
    <mirrorOf>*</mirrorOf>
    <name>Nexus aliyun</name>
    <url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>

4、安装git
yum install git


5、配置JDK环境变量
cd ~
vi .bash_profile

添加刚才安装的jdk,gradle和maven到环境变量中:

alias ll='ls -alF'
alias la='ls -A'
alias l='ls -CF'
alias gbt='gradle build -x test'

export JAVA_HOME=/root/sdk/jdk1.8.0_151
export PATH=$PATH:$JAVA_HOME/bin

export M2_HOME=/root/sdk/apache-maven-3.5.2
export PATH=$PATH:$M2_HOME/bin

export GRADLE_HOME=/root/sdk/gradle-4.1
export PATH=$PATH:$GRADLE_HOME/bin

添加完后保存,执行source .bash_profile


6、安装daemontools

wget http://cr.yp.to/daemontools/daemontools-0.76.tar.gz

tar xvzf daemontools-0.76.tar.gz -C /root/sdk/daemontools-0.76
cd admin/daemontools-0.76
sudo package/install


install脚本会在根目录/下创建两个目录:/service和/command目录。其中/service目录用来存放被daemontools管理的进程,注意在/service目录下存放的只能是连接。/command命令下存放的是daemontools的一些常用命令。

如果install有错误:

/usr/bin/ld: errno: TLS definition in /lib64/libc.so.6 section .tbss mismatches non-TLS reference in envdir.o

/lib64/libc.so.6: could not read symbols: Bad value

collect2: ld 返回 1

make: *** [envdir] 错误 1

Copying commands into ./command...

cp: 无法 stat “compile/envdir”: 没有那个文件或目录


则编辑src/conf-cc, gcc加上-include /usr/include/errno.h 使用标准错误

启动
启动daemontools工具:
/command/svscanboot &
&后台运行
这时看下svs(supervise)的运行情况:

ps -ef | grep svs
可以看到两个相关进程:
/bin/sh /command/svscanboot
和svscan /service

7、安装nginx

Nginx是C写的,需要用GCC编译;Nginx的Rewrite和HTTP模块会用到PCRE(Perl Compatible Regular Expression);Nginx中的Gzip用到zlib[1]。

因此在安装nginx之前需要检查当前环境是否已经安装有GCC、PCRE、Zlib还有一个就是OpenSSL。

使用rpm -qa命令查看GCC、Zlib、PCRE和OpenSSL是否已安装:


# rpm -qa gcc
gcc-4.4.7-17.el6.x86_64
# rpm -qa pcre
pcre-7.8-7.el6.x86_64
# rpm -qa zlib
zlib-1.2.3-29.el6.x86_64
# rpm -qa openssl
openssl-1.0.1e-48.el6_8.3.x86_64

可知,ECS centos6.8系统下已安装有所需要的以上软件,下一步直接安装nginx。

下载

wget http://nginx.org/download/nginx-1.10.3.tar.gz
tar -zxvf nginx-1.10.3.tar.gz -C /root/sdk

安装

源码编译准备

使用./configure进行安装环境检查和安装配置(由于不确定默认安装路径,故指定安装路径为/usr/local/nginx),此命令会生成 Makefile:

cd nginx-1.10.3/
./configure --prefix=/usr/local/nginx


如果报错
./configure: error: the HTTP rewrite module requires the PCRE library.
则执行:
yum -y install pcre-devel

如果报错
./configure: error: the HTTP gzip module requires the zlib library.
则执行:
yum install -y zlib-devel

如果报错
./configure: error: the HTTP cache module requires md5 functions from OpenSSL library.   
则执行:
yum -y install openssl openssl-devel



编译
make

安装
make install

查看安装

# whereis nginx
nginx: /usr/local/nginx

启动nginx
nginx可执行文件存放路径: 安装目录/sbin/nginx。这里就是/usr/local/nginx/sbin/nginx

/usr/local/nginx/sbin/nginx
./nginx -h命令,查看命令帮助
./nginx -t 查看配置文件


启动nginx服务

./nginx

执行nginx命令即可启动nginx服务。如果发现80端口已经被占用,可能是nginx服务已经启动。执行pkill nginx即可杀掉nginx服务。
可以使用ps -ef | grep nginx命令查看内存中是否还有nginx进程。
ps -ef | grep nginx
root     29919     1  0 16:36 ?        00:00:00 nginx: master process ./nginx
nobody   29920 29919  0 16:36 ?        00:00:00 nginx: worker process



现在打开浏览器,在地址栏输入http://主机ip,注意需要打开80端口。如果输出welcome to nginx,表明nginx已经配置成功。
下一步可进行相关配置,将请求从80端口转向8080端口

进入/usr/local/nginx/conf路径,输入以下命令:

vi nginx.conf

其中:

    listener 监听端口
    server_name 监听域名
    location{}是用来为匹配的 URI 进行配置,URI 即语法中的“/uri/”。
    location / { }匹配任何查询,因为所有请求都以 / 开头。
    root指定对应uri的资源查找路径,html为相对路径,在我的服务器上完整路径为/usr/local/nginx/html/,
    该路径下有一个index.html的文件,便是输入ECS实例IP或绑定的域名返回的响应内容。[2]

这里我们是想使用nginx的反向代理(Reverse Proxy)功能。反向代理方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个服务器。
server {
        listen       80;
        server_name  127.0.0.1:8080;

        location / {
            proxy_pass   http://127.0.0.1:8080;
        }

    }



server下的结点:

listen:监听80端口
server_name:转发到哪个地址
proxy_pass:代理到哪个地址

配置完成后,重启nginx

进入/usr/local/nginx/sbin路径:

./nginx -s reload



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值