linux(centos 65)下安装 git jdk maven tomcat nginx tomcat mongodb

3 篇文章 0 订阅
3 篇文章 0 订阅

1 Git Install

首先更新yum,此过程可能时间较长:
# yum update

安装所要依赖的软件:
# sudo yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker

下载git安装bao:
# wget https://github.com/git/git/archive/v2.7.2.zip

解压后执行编译安装:
# unzip v2.7.2.zip
# cd git-2.7.2
# make prefix=/usr/local/git all
# sudo make prefix=/usr/local/git install

查看git版本,此时会找不到该命令:
# git --version
-bash: git: command not found
原因是我们未将git命令加入环境变量,下面加入:
# whereis git
# sudo vim /etc/profile
在文件最后写入: export PATH=/usr/local/git/bin:$PATH  ,然后更新一下配置文件,使他生效,然后查看git版本:
# source /etc/profile
# git --version
git version 2.7.2

下面配置git:
# git config --global user.name "weihainan"
# git config --global user.email "214372@nd.com"
# git config --list
user.name=weihainan
user.email=214372@nd.com

生成ssh key,执行下面命令并三次huiche,文件位于 /root/.ssh/id_rsa
# ssh-keygen -t rsa -C "214372@nd.com"
#Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
#vim ~/.ssh/id_rsa.pub
系统会提示key的保存位置(一般是~/.ssh目录)和指定口令,保持默认,连续三次回车即可。
然后用vim打开该文件,id_rsa.pub文件内的内容,粘帖到github帐号管理的添加SSH key界面中。

这样就可使用git操作远程git hub:

# git clone git@github.com:whnhub/learngit.git

2 安装jdk

2.1 安装openJdk

yum list java*
yum install java-1.7.0-openjdk* -y
环境变量应该是会自动配置的或者手动配置编辑/etc/profile

2.2 安装Oracle Jdk

首先在Oracle官网下载Linux版本的jdk包,地址:
http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase7-521261.html#jdk-7u80-oth-JPR

然后使用WinSCP 将安装包放入Linux中,例如笔者加入到/root/Downloads/下面,然后将其解压:

# ls
apache-tomcat-7.0.57.tar.gz  jdk-7u80-linux-x64.gz  v2.7.2.zip
# tar -zvxf jdk-7u80-linux-x64.gz
# ls
apache-tomcat-7.0.57.tar.gz  jdk1.7.0_80  jdk-7u80-linux-x64.gz  v2.7.2.zip
# mv jdk1.7.0_80/  /usr/local/
# ls /usr/local/jdk1.7.0_80/
bin        jre      README.html                         THIRDPARTYLICENSEREADME.txt
COPYRIGHT  lib      release
db         LICENSE  src.zip
include    man      THIRDPARTYLICENSEREADME-JAVAFX.txt

最后配置环境变量:

#vi /etc/profile 
在打开的文件的末尾添加

export JAVA_HOME=/usr/local/jdk1.7.0_80
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH

保存退出,然后输入下面的命令来使之生效
# source /etc/profile
# java -version
java version "1.7.0_80"
Java(TM) SE Runtime Environment (build 1.7.0_80-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.80-b11, mixed mode)

大功告成!

3 安装maven

# yum -y install apache-maven
Loaded plugins: fastestmirror, refresh-packagekit, security
Setting up Install Process
Loading mirror speeds from cached hostfile
 * base: mirrors.163.com
 * extras: mirrors.aliyun.com
 * updates: mirrors.aliyun.com
No package apache-maven available.
Error: Nothing to do

这时候可能会报错  这时候需要用wget命令去网络上下载资源包

# wget http://repos.fedorapeople.org/repos/dchen/apache-maven/epel-apache-maven.repo -O /etc/yum.repos.d/epel-apache-maven.repo
# yum -y install apache-maven
# mvn -v
Apache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-11-11T00:41:47+08:00)
Maven home: /usr/share/apache-maven
Java version: 1.7.0_80, vendor: Oracle Corporation
Java home: /usr/local/jdk1.7.0_80/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "2.6.32-431.el6.x86_64", arch: "amd64", family: "unix"
# ls /usr/share/apache-maven
bin  boot  conf  lib

安装完成,按照需要修改配置文件吧!


4 安装Tomcat

使用WinSCP将下载的apache-tomcat-7.0.57.tar.gz放入到/root/Downloads/,执行如下命令
<pre name="code" class="java"># ls
apache-tomcat-7.0.57.tar.gz  jdk1.7.0_80  jdk-7u80-linux-x64.gz  v2.7.2.zip
# tar -zvxf apache-tomcat-7.0.57.tar.gz
# ls
apache-tomcat-7.0.57         jdk1.7.0_80            v2.7.2.zip
apache-tomcat-7.0.57.tar.gz  jdk-7u80-linux-x64.gz
# mv apache-tomcat-7.0.57 /usr/local/servers/
# ls /usr/local/servers
bin  conf  lib  LICENSE  logs  NOTICE  RELEASE-NOTES  RUNNING.txt  temp  webapps  work
</pre><pre>

5 安装mongodb

方式1

创建/etc/yum.repos.d/mongodb-org-3.0.repo文件,以便后面直接运行yum安装MongoDB。文件内容如下(我安装的是最新的3.0.5):
# vi /etc/yum.repos.d/mongodb-org-3.0.repo
[mongodb-org-3.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.0/x86_64/
gpgcheck=0
enabled=1
<pre name="code" class="java">#sudo yum install -y mongodb-org
#whereis mongod
mongod: /usr/bin/mongod /etc/mongod.conf /usr/share/man/man1/mongod.1

# cd /usr/local
# mkdir mongo
# mkdir mongo/data mongo/log
# cd mongo
# ls
# mongod --dbpath /usr/local/mongo/data

#mongo
> db.cols.insert({"name":"jerry","age":18})
WriteResult({ "nInserted" : 1 })
> db.cols.find()
{ "_id" : ObjectId("57ca8a65ef23a77b2428755f"), "name" : "jerry", "age" : 18 }
> db.cols.remove({})
WriteResult({ "nRemoved" : 1 })
> exit
bye

service mongod start                #启动mongodb 服务
service mongod stop
service mongod restart
pstree -p | grep mongod             #进程列表
chkconfig mongod on                 #开机启动mongod服

方式2

 第一步:下载安装包。下载地址:mongoDB官网 http://www.mongodb.org

                 我下载的版本是:mongodb-Linux-i686-2.0.2.tgz(建议不要使用过高版本的,因为我试了很多次就是不成功!)

    第二步:在linux中解压缩安装程序,通过命令操作:

[plain]  view plain  copy
  1. tar -zxvf mongodb-linux-i686-2.0.2.tgz  
     第三步:我们把mongodb-linux-i686-2.0.2重命名为mongoDB。

    第四步:我们在mongodb目录下新建一个data目录存放数据、新建一个log目录存放日志,然后在该目录下新建一个日志文件,例如我们命名为dblog。

[plain]  view plain  copy
  1. mkdir log    
  2. mkdir data    
  3. cd log    
  4. touch dblog   
     第五步:然后定位到mongodb/bin目录中,使用mongod命令建立一个mongodb数据库链接,端口号默认设置为27017,数据库的存放路径为/mongodb/data,日志路径为/mongodb/log/dblog。

启动命令:

[plain]  view plain  copy
  1. ./bin/mongod  --dbpath data/ --logpath log/dblog   
  2. all output going to: log/dblog    

     第六步:使用客户端来连接该数据库
    重新开启一个终端,然后切换到mongodb目录下:

    然后使用./bin/mongo命令来连接该数据库

[plain]  view plain  copy
  1. ./bin/mongo  
     第七步:通过浏览器访问
    在浏览器地址栏输入: http://localhost 然后回车访问
    可以看到如下提示:You are trying to access MongoDB on the native driver port. For http diagnostic access, add 1000 to the port number
    然后根据提示把端口号加上1000访问 http://localhost:28017/ 。
    就能够访问到Monodb的服务端web页面

   第八步: 通过配置文件来配置Mongodb
   首先在mongodb目录下新建一个文件,文件名任意,在这里我取名为:mongodb.conf
   然后在配置文件中添加配置信息

[plain]  view plain  copy
  1. port=27017【代表端口号,如果不指定则默认为 27017 】  
  2. dbpath=data/ 【数据库路径】  
  3. logpath=log/mongodb.log 【日志路径】  
  4. logappend=true 【日志文件自动累加,而不是覆盖】  

    启动mongoDB服务:
[plain]  view plain  copy
  1. ./bin/mongod -f mongodb.conf    
  2. all output going to: log/dblog    
    然后访问方式和之前的一样。


我遇到的问题:

摘录:MongoDB非正常关闭后修复记录
  mongod没有后台执行,在终端连接非正常断开后,再次执行mongod报错,如下所示:
[root@localhost mongodb]# ./bin/mongod ./bin/mongod --help for help and startup options Thu Nov 17 22:42:49 Thu Nov 17 22:42:49 warning: 32-bit servers don't have journaling enabled by default. Please use --journal if you want durability. Thu Nov 17 22:42:49 Thu Nov 17 22:42:49 [initandlisten] MongoDB starting : pid=3257 port=27017 dbpath=/data/db/ 32-bit host=localhost Thu Nov 17 22:42:49 [initandlisten] Thu Nov 17 22:42:49 [initandlisten] ** NOTE: when using MongoDB 32 bit, you are limited to about 2 gigabytes of data Thu Nov 17 22:42:49 [initandlisten] **       see http://blog.mongodb.org/post/137788967/32-bit-limitations Thu Nov 17 22:42:49 [initandlisten] **       with --journal, the limit is lower Thu Nov 17 22:42:49 [initandlisten] Thu Nov 17 22:42:49 [initandlisten] db version v2.0.1, pdfile version 4.5 Thu Nov 17 22:42:49 [initandlisten] Git version: 3a5cf0e2134a830d38d2d1aae7e88cac31bdd684 Thu Nov 17 22:42:49 [initandlisten] build info: Linux domU-12-31-39-01-70-B4 2.6.21.7-2.fc8xen #1 SMP Fri Feb 15 12:39:36 EST 2008 i686 BOOST_LIB_VERSION=1_41 Thu Nov 17 22:42:49 [initandlisten] options: {} ************** Unclean shutdown detected. Please visithttp://dochub.mongodb.org/core/repair for recovery instructions. ************* Thu Nov 17 22:42:49 [initandlisten] exception in initAndListen: 12596 old lock file, terminating Thu Nov 17 22:42:49 dbexit: Thu Nov 17 22:42:49 [initandlisten] shutdown: going to close listening sockets... Thu Nov 17 22:42:49 [initandlisten] shutdown: going to flush diaglog... Thu Nov 17 22:42:49 [initandlisten] shutdown: going to close sockets... Thu Nov 17 22:42:49 [initandlisten] shutdown: waiting for fs preallocator... Thu Nov 17 22:42:49 [initandlisten] shutdown: closing all files... Thu Nov 17 22:42:49 [initandlisten] closeAllFiles() finished Thu Nov 17 22:42:49 dbexit: really exiting now

修复方法:
这算是一个Mongod 启动的一个常见错误,非法关闭的时候,lock 文件没有干掉,第二次启动的时候检查到有lock 文件的时候,就报这个错误了。
解决方法:进入 mongod 上一次启动的时候指定的 data 目录  --dbpath=/data/mongodb
删除掉该文件:

[plain]  view plain  copy
  1. rm /data/mongodb/mongo.lock --linux  
  2. del /data/mongodb/mongo.lock --windows  
再执行:
[plain]  view plain  copy
  1. ./mongod  --repair  
启动:
[plain]  view plain  copy
  1. ./bin/mongod -f mongodb.conf    
  2. all output going to: log/dblog   

OK,问题解决。
正确关闭mongod 的方法:进入mongo shell
use admin
db.shutdownServer()
也可以按照文档粗暴的杀掉它,它内部应该有KILL信号处理程序。
[plain]  view plain  copy
  1. killall mongod  或 pkill mongod  
请不要 kill -9 ,会造成文件数据混乱丢失 repair 也无力回天。(注意:不要用kill -9 PID 来杀死mongoDB进程,这样会导致mongoDB的数据损坏,用kill -2 杀死进程。)
ctrl+c 可以退出mongo的界面 或是ext

6 Nginx

1 在nginx官方网站下载一个rpm包
wget http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm

2 安装这个rpm包
rpm -ivh nginx-release-centos-6-0.el6.ngx.noarch.rpm 

3 开始正式安装nginx
yum install nginx
会显示一大堆信息,问你ok不ok啊:Is this ok [y/N]:
输入y,屏幕滚了一会之后就安装完毕,最后提示“Complete!”就是安完了。

4 nginx的几个默认目录

whereis nginx
nginx: /usr/sbin/nginx /etc/nginx /usr/share/nginx

1 配置所在目录:/etc/nginx/
2 PID目录:/var/run/nginx.pid
3 错误日志:/var/log/nginx/error.log
4 访问日志:/var/log/nginx/access.log
5 默认站点目录:/usr/share/nginx/html

5 常用命令

1 启动nginx:nginx
2 重启nginx:killall -HUP nginx
3 测试nginx配置:nginx -t

ps -ef | grep nginx
在进程列表里 面找master进程,它的编号就是主进程号了。

从容停止Nginx:kill -QUIT 主进程号
快速停止Nginx:kill -TERM 主进程号
强制停止Nginx:pkill -9 nginx

你可能还想把Nginx加到系统启动项,这样每次开机的时候就自动启动了,使用下面的命令:
sudo systemctl enable nginx

6 Nginx无法站外访问?

刚安装好nginx一个常见的问题是无法站外访问,本机wget、telnet都正常。

而服务器之外,不管是局域网的其它主机还是互联网的主机都无法访问站点。如果用telnet的话,提示:

正在连接到192.168.0.xxx...不能打开到主机的连接, 在端口 80: 连接失败

如果用wget命令的话,提示:

Connecting to 192.168.0.100:80... failed: No route to host.

如果是以上的故障现象,很可能是被CentOS的防火墙把80端口拦住了,尝试执行以下命令,打开80端口:

iptables -I INPUT -p tcp --dport 80 -j ACCEPT

然后用:

/etc/init.d/iptables status

查看当前的防火墙规则,如果发现有这样一条:

ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:80

就说明防火墙规则已经添加成功了,再在站外访问就正常了。


Centos升级到7之后,发现无法使用iptables控制Linuxs的端口,google之后发现Centos 7使用firewalld代替了原来的iptables。下面记录如何使用firewalld开放Linux端口:

 
开启端口
firewall-cmd --zone=public --add-port=80/tcp --permanent
命令含义:
--zone #作用域
--add-port=80/tcp  #添加端口,格式为:端口/通讯协议
--permanent   #永久生效,没有此参数重启后失效
 
重启防火墙
firewall-cmd --reload



评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值