Linux搭建开发环境

Linux搭建开发环境


安装jdk

1
2
3
4
5
6
7
#!/bin/bash

wget -P ~/soft/ "http://ou0y29lb2.bkt.clouddn.com/jdk-7u55-linux-x64.rpm"

cd ~/soft

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

安装tomcat

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#!/bin/bash

wget -P ~/soft/ "http://ou0y29lb2.bkt.clouddn.com/apache-tomcat-7.0.79.tar.gz"

tomcat_path="/usr/local/tomcat"

if [ ! -d "$tomcat_path" ]; then
mkdir $tomcat_path
else
rm -rf $tomcat_path
mkdir $tomcat_path
fi


cp ~/soft/apache-tomcat-7.0.79.tar.gz $tomcat_path/

cd $tomcat_path

tar -zxvf apache-tomcat-7.0.79.tar.gz

安装zookeeper

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#!/bin/bash

wget -P ~/soft/ "http://ou0y29lb2.bkt.clouddn.com/zookeeper-3.4.6.tar.gz"

if [ ! -d "/usr/local/dubbo" ]; then
mkdir /usr/local/dubbo
else
rm -rf /usr/local/dubbo
mkdir /usr/local/dubbo
fi

cp ~/soft/zookeeper-3.4.6.tar.gz /usr/local/dubbo

cd /usr/local/dubbo

tar -zxvf zookeeper-3.4.6.tar.gz

cd zookeeper-3.4.6/conf

cp zoo_sample.cfg zoo.cfg

#sed -i '' '/eth1/s/^/#/' file

# on mac os
# sed -i '' '/^dataDir/s/^/#/' zoo.cfg
# on linux
sed -i '/^dataDir/s/^/#/' zoo.cfg

# in macos

#sed -i '' '/^#dataDir/a\
#dataDir=/usr/local/dubbo/zookeeper-3.4.6/data
#' zoo.cfg

# in linux
sed -i '/^#dataDir/a\\dataDir=/usr/local/dubbo/zookeeper-3.4.6/data' zoo.cfg

cd ../bin

./zkServer.sh restart

./zkServer.sh status

安装监控中心

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#!/bin/bash

wget -P ~/soft/ "http://ou0y29lb2.bkt.clouddn.com/dubbo-admin-2.5.4.war"

cp ~/soft/apache-tomcat-7.0.79.tar.gz /usr/local/dubbo

cd /usr/local/dubbo

tar -zxvf apache-tomcat-7.0.79.tar.gz

cp ~/soft/dubbo-admin-2.5.4.war apache-tomcat-7.0.79/webapps/

cd /usr/local/dubbo/apache-tomcat-7.0.79/webapps

var="dubbo-admin-2.5.4.war"
tmp=${var##*/}
path=${tmp%.*}

if [ ! -d "./$path" ]; then
mkdir ./$path
fi
unzip -oq dubbo-admin-2.5.4.war -d ./$path

ip_address=`ifconfig -a|grep inet|grep -v 127.0.0.1|grep -v inet6|awk '{print $2}'|tr -d "addr:"`

sed -i "s/127.0.0.1/$ip_address/g" ./dubbo-admin-2.5.4/WEB-INF/dubbo.properties

rm dubbo-admin-2.5.4.war

/usr/local/dubbo/apache-tomcat-7.0.79/bin/startup.sh

success="打开 http://$ip_address:8080/dubbo-admin-2.5.4"
echo -e "\033[0;32;1m$success\033[0m"

管理员账号密码是 root root


linux mac下使用sed a\追加文本

由于mac系统是原生于bsd系,sed命令和gnu不同,如果想用sed实现在某一行插入一行文本。
gnu sed:

1
sed "$line a\\(多加一个\,防止后面的$value被转义)$value" $file

mac sed:

1
2
3
sed "$line a\ (注意此处有空格,要在下一行添加文本)  
$value(如果想换行要把"写到下一行)
" $file

示例:在test.txt第二行插入xxx
gnu:

1
sed "2 a\\xxx" test.txt

mac:

1
2
3
sed "2 a\     
xxx
" test.txt

i\是在某一行之前插入,操作和a\一样。


Linux下开启关闭防火墙

Linux下启动apache server之后,由于防火墙的原因不能远程访问(本机可以),接下来介绍下Linux下如何关闭防火墙.

解决方案

#临时关闭,即时生效,重启失效

关闭防火墙

1
$ service iptables stop

开启防火墙

1
$ service iptables start

#永久关闭,重启生效

关闭防火墙

1
$ chkconfig iptables off

开启防火墙

1
$ chkconfig iptables on

Linux下防火墙开启相关端口及查看已开启端口

1
2
3
4
/sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT #开启80端口 
/sbin/iptables -I INPUT -p tcp --dport 22 -j ACCEPT #开启22端口
/etc/rc.d/init.d/iptables save #保存配置
/etc/rc.d/init.d/iptables restart #重启服务

查看已开放端口

1
/etc/init.d/iptables status

结果如下
able: filter
hain INPUT (policy ACCEPT)
um target prot opt source destination
ACCEPT tcp – 0.0.0.0/0 0.0.0.0/0 tcp dpt:22
ACCEPT tcp – 0.0.0.0/0 0.0.0.0/0 tcp dpt:80

你可以使用 lsof 命令来查看某一端口是否开放。查看端口可以这样来使用,我就以80端口为例:

1
lsof -i:80

如果有显示说明已经开放了,如果没有显示说明没有开放。