1 Git Install
# 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 --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
这样就可使用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
# 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
<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
# 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中解压缩安装程序,通过命令操作:
第三步:我们把mongodb-linux-i686-2.0.2重命名为mongoDB。
第四步:我们在mongodb目录下新建一个data目录存放数据、新建一个log目录存放日志,然后在该目录下新建一个日志文件,例如我们命名为dblog。
第五步:然后定位到mongodb/bin目录中,使用mongod命令建立一个mongodb数据库链接,端口号默认设置为27017,数据库的存放路径为/mongodb/data,日志路径为/mongodb/log/dblog。
启动命令:
第六步:使用客户端来连接该数据库
重新开启一个终端,然后切换到mongodb目录下:
然后使用./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
然后在配置文件中添加配置信息
我遇到的问题:
摘录: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
删除掉该文件:
启动:
OK,问题解决。
正确关闭mongod 的方法:进入mongo shell
use admin
db.shutdownServer()
也可以按照文档粗暴的杀掉它,它内部应该有KILL信号处理程序。
请不要 kill -9 ,会造成文件数据混乱丢失 repair 也无力回天。(注意:不要用kill -9 PID 来杀死mongoDB进程,这样会导致mongoDB的数据损坏,用kill -2 杀死进程。)
ctrl+c 可以退出mongo的界面 或是ext
6 Nginx
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
在进程列表里 面找master进程,它的编号就是主进程号了。
从容停止Nginx:kill -QUIT 主进程号
快速停止Nginx:kill -TERM 主进程号
强制停止Nginx:pkill -9 nginx
你可能还想把Nginx加到系统启动项,这样每次开机的时候就自动启动了,使用下面的命令:
sudo systemctl enable 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端口: