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 /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 --versiongit version 2.7.2
下面配置git:
# git config --global user.name "weihainan"# git config --global user.email "214372@"# git config --listuser.name=weihainanuser.email=214372@
生成ssh key,执行下面命令并三次huiche,文件位于/root/.ssh/id_rsa:
# ssh-keygen -t rsa -C "214372@"#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@: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包,地址: /technetwork/java/javase/downloads/java-archive-downloads-javase7-521261.html#jdk-7u80-oth-JPR然后使用WinSCP 将安装包放入Linux中,例如笔者加入到/root/Downloads/下面,然后将其解压:
# lsapache-tomcat-7.0.57.tar.gz jdk-7u80-linux-x64.gz v2.7.2.zip# tar -zvxf jdk-7u80-linux-x64.gz
# lsapache-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 jreREADME.htmlTHIRDPARTYLICENSEREADME.txtCOPYRIGHT libreleasedb LICENSE src.zipinclude manTHIRDPARTYLICENSEREADME-JAVAFX.txt
最后配置环境变量:
#vi /etc/profile 在打开的文件的末尾添加export JAVA_HOME=/usr/local/jdk1.7.0_80export JRE_HOME=${JAVA_HOME}/jreexport CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/libexport PATH=${JAVA_HOME}/bin:$PATH
保存退出,然后输入下面的命令来使之生效
# source /etc/profile# java -versionjava 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-mavenLoaded plugins: fastestmirror, refresh-packagekit, securitySetting up Install ProcessLoading mirror speeds from cached hostfile* base: * extras: * updates: No package apache-maven available.Error: Nothing to do
这时候可能会报错 这时候需要用wget命令去网络上下载资源包
# wget /repos/dchen/apache-maven/epel-apache-maven.repo -O /etc/yum.repos.d/epel-apache-maven.repo# yum -y install apache-maven# mvn -vApache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; -11-11T00:41:47+08:00)Maven home: /usr/share/apache-mavenJava version: 1.7.0_80, vendor: Oracle CorporationJava home: /usr/local/jdk1.7.0_80/jreDefault locale: en_US, platform encoding: UTF-8OS name: "linux", version: "2.6.32-431.el6.x86_64", arch: "amd64", family: "unix"
# ls /usr/share/apache-mavenbin boot conf lib
安装完成,按照需要修改配置文件吧!
4 安装Tomcat
使用WinSCP将下载的apache-tomcat-7.0.57.tar.gz放入到/root/Downloads/,执行如下命令<pre name="code" class="java"># lsapache-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# lsapache-tomcat-7.0.57 jdk1.7.0_80 v2.7.2.zipapache-tomcat-7.0.57.tar.gz jdk-7u80-linux-x64.gz# mv apache-tomcat-7.0.57 /usr/local/servers/# ls /usr/local/serversbin 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 Repositorybaseurl=/yum/redhat/$releasever/mongodb-org/3.0/x86_64/gpgcheck=0enabled=1
<pre name="code" class="java">#sudo yum install -y mongodb-org#whereis mongodmongod: /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 })> exitbye
service mongod start#启动mongodb 服务service mongod stopservice mongod restartpstree -p | grep mongod #进程列表chkconfig mongod on #开机启动mongod服
方式2
第一步:下载安装包。下载地址:mongoDB官网
我下载的版本是:mongodb-Linux-i686-2.0.2.tgz(建议不要使用过高版本的,因为我试了很多次就是不成功!)
第二步:在linux中解压缩安装程序,通过命令操作:
[plain]view plaincopytar-zxvfmongodb-linux-i686-2.0.2.tgz 第三步:我们把mongodb-linux-i686-2.0.2重命名为mongoDB。
第四步:我们在mongodb目录下新建一个data目录存放数据、新建一个log目录存放日志,然后在该目录下新建一个日志文件,例如我们命名为dblog。
[plain]view plaincopymkdirlog mkdirdata cdlog touchdblog 第五步:然后定位到mongodb/bin目录中,使用mongod命令建立一个mongodb数据库链接,端口号默认设置为27017,数据库的存放路径为/mongodb/data,日志路径为/mongodb/log/dblog。
启动命令:
[plain]view plaincopy./bin/mongod--dbpathdata/--logpathlog/dblog alloutputgoingto:log/dblog
第六步:使用客户端来连接该数据库
重新开启一个终端,然后切换到mongodb目录下:
然后使用./bin/mongo命令来连接该数据库:
[plain]view plaincopy./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 plaincopyport=27017【代表端口号,如果不指定则默认为27017】 dbpath=data/【数据库路径】 logpath=log/mongodb.log【日志路径】 logappend=true【日志文件自动累加,而不是覆盖】 启动mongoDB服务:[plain]view plaincopy./bin/mongod-fmongodb.conf alloutputgoingto: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 /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]Gitversion: 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 i686 BOOST_LIB_VERSION=1_41 Thu Nov 17 22:42:49 [initandlisten] options: {} ************** Unclean shutdown detected. Please visit/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 plaincopyrm/data/mongodb/mongo.lock--linux del/data/mongodb/mongo.lock--windows 再执行:
[plain]view plaincopy./mongod--repair 启动:
[plain]view plaincopy./bin/mongod-fmongodb.conf alloutputgoingto:log/dblog
OK,问题解决。
正确关闭mongod 的方法:进入mongo shell
use admin
db.shutdownServer()
也可以按照文档粗暴的杀掉它,它内部应该有KILL信号处理程序。
[plain]view plaincopykillallmongod或pkillmongod 请不要 kill -9 ,会造成文件数据混乱丢失 repair 也无力回天。(注意:不要用kill -9 PID 来杀死mongoDB进程,这样会导致mongoDB的数据损坏,用kill -2 杀死进程。)
ctrl+c 可以退出mongo的界面 或是ext
6 Nginx
1 在nginx官方网站下载一个rpm包wget /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 nginxnginx: /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