实习整理(一)

实习第一周结束了,下面整理一下这周遇到的一些问题。(所有操作均在Ubuntu系统下完成)

IDE配置:Intellij IDEA

下载Ultimate版,下面网址生成license
生成各种软件注册码:http://www.98key.com
在线注册服务器License Server: http://idea.iteblog.com/key.php

Java环境配置

官网下载jdk,解压缩
将以下内容添加到/etc/profile文件结尾:

1
2
3
4
export JAVA_HOME=/home/wanghao/work/jdk
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$JAVA_HOME/bin:$PATH

更新配置文件,执行:

1
source /etc/profile

测试java是否运行正常:

1
2
echo $JAVA_HOME
java -version

安装tomcat

官网下载tomcat源码,解压缩
打开bin目录下的startup.sh,添加以下几行:

1
2
3
4
5
JAVA_HOME=/home/wanghao/work/jdk1.7.0_40
JRE_HOME=/home/wanghao/work/jdk1.7.0_40/jre
PATH=$JAVA_HOME/bin:$JRE_HOME:$PATH
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
TOMCAT_HOME=/home/wanghao/work/apache-tomcat

./startup.sh启动tomcat
./shutdown.sh关闭tomcat
启动之后不要马上关闭,否则可能因为tomcat还未完全启动就关闭,导致shutdown的时候报错:”Could not contact localhost:8005. Tomcat may not be running”

安装Git

用命令“git –version”查看是否已安装,且版本为1.9.5或更高。若没安装或版本太低:

1
sudo apt-get install git-core git-gui git-doc gitk

再用“git –version”查一下,如果安装的不是1.9.5版本,那是不是你的ubuntu太老了?试试下面的方法:

1
2
3
sudo add-apt-repository ppa:git-core/ppa
sudo apt-get update
sudo apt-get install git

add-apt-repository 是由 python-software-properties 这个工具包提供的,如果使用 add-apt-repository显示“command not found”需要安装python-software-properties
安装方法:
1.首先需要安装software-properties-common

1
sudo apt-get install software-properties-common

2.然后安装python-software-properties

1
sudo apt-get install python-software-properties

生成SSH key

参考https://help.github.com/articles/connecting-to-github-with-ssh/

安装Maven

Maven是跨平台的,可以在任何一种主流的操作系统上运行,下面在基于Unix系统上安装Maven

(1)检查JDK的安装,参照Java环境配置

(2)本地安装

下载压缩包,以版本3.0.5为例,解压缩到/usr/bin/apache-maven-3.0.5
虽然直接使用该目录配置环境变量之后就能使用Maven了,但推荐做法是,在安装目录旁平行地创建一个符号链接,以方便日后的升级:

1
ln -s apache-maven-3.0.5 apache-maven

设置环境变量M2_HOME,指向符号链接apache-maven,并且把Maven安装目录下的bin/文件夹添加到系统环境变量PATH中去。
修改文件 /etc/profile,添加两行:

1
2
export M2_HOME=/usr/bin/apache-maven
export PATH=$PATH:$M2_HOME/bin

别忘了source /etc/profile使配置生效。
检查Maven安装:

1
2
echo $M2_HOME
mvn -v

(3)Maven版本的更改

在基于Unix的系统上,可以利用符号链接这一工具来简化Maven的升级或降级,不必像在Windows上那样,每次更改版本都必须更新环境变量。
假设需要升级到新的Maven 3.1版本,将安装包解压到与前一版本平行的目录下,然后更新符号链接指向3.1版的目录便可:

1
2
rm apache-maven
ln -s apache-maven-3.1 apache-maven

这样可以方便地切换到Maven的任意版本,切换完成后运行mvn -v进行检查。

ssh免跳板机登录开发机

企业为了服务器的安全,通常所有的ssh连接都是通过跳板机来完成,比便于对ssh连接进行验证和管理。跳板机通常至少配两块网卡,一个连接外网,用以对目标服务器远程登录及维护;另一个连接内网,便于内部网络的管理、控制和保护。通过网关服务提供从内网到外网、或从外网到内网的特殊协议路由服务。

在企业内部,ssh登录开发机需要首先登录对应的跳板机,这样对于开发人员来说比较麻烦,因此可以设置免跳板机登录开发机,即只需第一次通过跳板机登录,以后可以直接登录开发机。

以下操作的前提是可以从本地登录跳板机,同时可以从跳板机登录开发机。

  • 获取私钥
    将跳板机上的私钥复制到本机,在本机上输入:
    mkdir -p ~/.ssh/persist
    scp [用户名]@[跳板机主机名]:~/.ssh/id_rsa ~/.ssh/id_rsa_[机房名]
  • 修改 ~/.ssh/config 文件
    如果没有该文件就创建一个:sudo touch ~/.ssh/config
    然后拷贝下面内容到config文件中
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
# 将[机房名]、[跳板机主机名]、[用户名]替换成各自实际的名字
# gateway servers
Host [机房名]
Hostname [跳板机主机名]
# server
Host *.[机房名]
ProxyCommand ssh [机房名] exec nc %h %p 2>/dev/null
IdentityFile ~/.ssh/id_rsa_[机房名]
Host *
User [用户名] # 你的本机的用户名如果和服务器上面的不一致,那需要配置这个,如果一致可以不用配置
ServerAliveInterval 30
ControlMaster auto
ControlPath ~/.ssh/persist/master-%r@%h:%p
ControlPersist yes
# 如果有多个机房的机器需要添加在这个文件中继续添加即可
# gateway servers
Host [机房名]
Hostname [跳板机主机名]
# server
Host *.[机房名]
ProxyCommand ssh [机房名] exec nc %h %p 2>/dev/null
IdentityFile ~/.ssh/id_rsa_[机房名]
Host *
User [用户名]
ServerAliveInterval 30
ControlMaster auto
ControlPath ~/.ssh/persist/master-%r@%h:%p
ControlPersist yes

设置完成后,打开终端输入ssh [开发机主机名],就可以直接登录了。

nginx 搭建

1
2
3
4
5
6
7
8
# 安装
wget http://openresty.org/download/ngx_openresty-1.4.3.6.tar.gz
sudo yum -y install gcc make readline-devel pcre-devel openssl-devel
tar xzvf ngx_openresty-1.4.3.6.tar.gz
cd ngx_openresty-1.4.3.6
./configure --with-luajit --with-http_iconv_module
sudo gmake
sudo gmake install
1
2
3
4
# 启动
sudo /usr/local/openresty/nginx/sbin/nginx
# 重启
sudo /usr/local/openresty/nginx/sbin/nginx -s reload

rsync的配置和使用

rsync实现网站的备份,文件的同步,不同系统的文件的同步,如果是windows的话,需要windows版本cwrsync

配置参考http://blog.csdn.net/peisl/article/details/6931088

上传:

1
rsync -rzcv --chmod="a=rX,u+w" --exclude=.svn --rsync-path="sudo rsync" [FILENAME] [YOUR_HOST_NAME]:[YOUR_DIR_PATH]

下载:别忘了后面有一个点(.)

1
rsync -rzcv --chmod="a=rX,u+w" --exclude=.svn --rsync-path="sudo rsync" [YOUR_HOST_NAME]:[YOUR_DIR_PATH] .

apt-file命令

在Linux系统中安装软件时,常常会遇到缺少动态库依赖的问题,可以使用apt-file命令查看动态库所在的包,然后安装对应的包就可以了。

1
2
3
4
sudo apt-get install apt-file #没有apt-file就安装一个
sudo apt-file update
sudo apt-file search libgstreamer-0.10.so.0 #查找动态库所在的包
sudo apt-get install libgstreamer-plugins-base0.10-0 #安装这个依赖包

Written with StackEdit.