资源描述
一、 基础环境搭建
***ifconfig位于 /sbin路径下****************************************************
1.以root用户登录
2.查看环境变量 echo $PATH
3.到sbin目录下查看是否有ifconfig文件 ls /sbin|grep ifconfig
4.若果没有,则查找ifconfig 文件 yum search ifconfig
5.安装ifconfig包 yum install –y net-tools/*
***配置网络(虚拟机作为服务器VMware+CentOS)****************************
1.设置 虚拟机网卡为 桥接模式,不勾选复制物理机网络
2.虚拟机网卡设为动态获取ip
3.修改配置文件ifcfg-eth0(/etc/sysconfig/network-scripts/ifcfg-eth0 (有可能是ifcfg-eno16777736))
需要注意:
1. mac地址 配置文件(ifcfg-eth0)的地址和ifconfig查看的一致
2. 手动添加IP等照图片设置
3. /etc/resolv.conf设置空
***配置网络(虚拟机作为服务器VMware+CentOS且与宿主机一样可以连接外网)********
1. 设置桥接模式,勾选复制物理机网络
2. 设置静态ip与宿主机在同一网段
(1) 宿主机 ip
(2) 虚拟机网卡 VMnet8
(3) CentOS 静态ip
修改配置文件ifcfg-eth0( /etc/sysconfig/network-scripts/ifcfg-eth0 (有可能是ifcfg-eno16777736))
必须重新启动网卡:
Service network restart
重新装成图行界面,外网不知为啥不通,后来把ifcfg-exxx(网卡配置文件)的HWADDR设为一个错误的,又改为正确的,重启,就好了,不知为啥。
***安装VMware Tools***************************************************
Vmware tool需要perl环境和gcc编译环境
1.先安装内核 yum install kernel-devel (必须是与gcc版本一致的)
查看内核版本:# uname –r
安装GCC: # yum install gcc
安装perl # yum install –y perl*
注意要在线安装:因为有得包需要即时下载
2.安装VMware Tools
(1)、在VMWare选VM -> Install VMWare Tools…,就会在桌面出现VMWare Tools图示让你安裝
在这里要挂载光驱:
1、mkdir /mnt/cdrom
2、加载:mount /dev/cdrom /mnt/cdrom
3、挂载:
umount /dev/cdrom /mnt/cdrom
(2)、#cd /mnt/cdrom 显示:VMWareTools-6.0.2.59824.tar.gz。
(3)、将VMWareTools-6.0.2.59824.tar.gz复制到/tmp,进行解压缩。
#cp VMWareTools-6.0.2.59824.tar.gz /tmp
# tar -zxvf VMwareTools-6.0.2-59824.tar.gz
(4)、进入解压缩后的vmware-tools-distrib目录
# cd vmware-tools-distrib/
执行vmware-install.pl安裝VMWare Tools
[root@localhost vmware-tools-distrib]# ./vmware-install.pl
!!!可能会遇到的问题:
(1) 在安装时,会找不到header路径
原因:gcc版本与kernel版本不一致
解决方法:
分别查CentOS kernel版本 kernel-devel及kernel-headers版本
先查找centos的kernel版本:uname -r 版本号为3.10.0-123.el7.x86_64
但我通过命令行查找安装的kernel-devel 和kernel-headers如下
kernel-devel: 命令:rpm -qa|grep kernel-devel 输出:kernel-devel-3.10.0-123.13.2.el7.x86_64
kernel-headers:命令:rpm -qa|grep kernel-headers 输出:kernel-headers-3.10.0-123.13.2.el7.x86_64
具体版本和centos内核的版本有一些出入,如果主版本是相同的,但还是找不到kernel-header.于是我打算安装和kernel相同的版本
yum install kernel-devel-3.10.0-123.el7.x86_64
(2) 一路下来还会报错,需要根据错误改.c或.h文件
我遇到的时报filesystems.c的gui_t和kgui_t类型不兼容
/tmp/modconfig-vD6daJ/vmhgfs-only/filesystem.c:240:15: error: incompatible types when assigning to type ‘gid_t’ from type ‘kgid_t’
si->gid = current_gid();
解决方法:
The solution above worked for me:
cd <...>/vmware-tools-distrib/lib/modules/source
tar xf vmhgfs.tar
cd vmhgfs-only/shared
apply change to compat_dcache.h (remove line 54,56-60 )
then tar up the new directory into vmhgfs.tar, and run the install.
大概意思就是,先把compat_dcache.h文件修改保存了,然后把原来的vmhgfs.tar删除或备份一下,重新打包一个vmhgfs.tar替代原来的vmghfs.tar然后再重新安装./vmware-install.pl
(3) 挂载共享文件夹
Windows 机器192.168.1.103共享了 /share/yasi 目录,并且赋予了写的权限,在Windows机器下可以用 yasi/pass 登录。在一台CentOS 6.3机器上尝试将该共享目录 mount 到 /mnt/yasi 上
#mount -t cifs //192.168.1.103/share/yasi /mnt/yasi -o username="yasi",password="pass"
特别注意:这里的username和password都是windows系统的用户名和密码(在windows下能够访问yasi文件夹的用户)
在这里还有坑…………………
1. mount: block device //192.168.1.103/share/yasi is write-protected, mounting read-only
2. mount: cannot mount block device //192.168.1.103/share/yasi read-only
【原因】
需要安装cifs-utils
【解决】
安装cifs-utils
#yum install cifs-utils.x86_64
然后重新执行
1. mount -t cifs //192.168.1.103/share/yasi /mnt/win -o username="yasi",password="pass"
就mount上了,并且具有写的权限。查看mount的文件#df –h
二、 定制环境搭建(维修客)
1. 安装MongoDB
(1) 下载压缩包 www.mongodb.org
选择RHEL 7 linux 64 bit
压缩包(mongodb-linux-x86_64-2.6.10.tgz.gz)
(2) 上传到 /usr/local/mongodb目录下(mongodb需要自己创建)
(3) 解压# tar –zxvf mongodb-linux-x86_64-2.6.10.tgz.gz
(4) #cd mongodbxxxxxx
(5) #cd bin
(6) 新建配置文件 vi mongodb.conf
其中/data/test/db和/data/test/logs都是自己新建的目录
#mkdir –p /data/test/db
#mkdir –p /data/test/logs
2. 安装nginx
(1)下载http://nginx.org/en/download.html
传到/usr/local/nginx目录下
(2)解压 #tar –zxv -f nginxxxxxx
(3) ./configure --prefix=/usr/local/nginx
可能会遇到一些问题,解决方法:
有时候,我们需要单独安装nginx,来处理大量的下载请求。单独在Centos5安装nginx遇到的rewrite和HTTP cache错误解决办法:
wget http://nginx.org/download/nginx-0.8.33.tar.gz
tar -zxvf nginx-0.8.33.tar.gz
cd nginx-0.8.33
./configure --prefix=/usr/local/nginx
安装Nginx时报错
./configure: error: the HTTP rewrite module requires the PCRE library.
安装pcre-devel解决问题
yum -y install pcre-devel
错误提示:./configure: error: the HTTP cache module requires md5 functions
from OpenSSL library. You can either disable the module by using
--without-http-cache option, or install the OpenSSL library into the system,
or build the OpenSSL library statically from the source with nginx by using
--with-http_ssl_module --with-openssl=<path> options.
解决办法:
yum -y install openssl openssl-devel
/configure: error: the HTTP gzip module requires the zlib library.
You can either disable the module by using –without-http_gzip_module
option, or install the zlib library into the system, or build the zlib
library
statically from the source with nginx by using –with-zlib=<path> option.
则需要安装“zlib-devel”即可。SSH执行以下命令:
yum install -y zlib-devel
总结:
yum -y install pcre-devel openssl openssl-devel
./configure --prefix=/usr/local/nginx
make
make install
一切搞定
刚不久安装了一台centos7,发现有很多的不同,现在说一下,我发现的不同的操作,希望大家在操作过程中发现了不同也记录下来,以被查询
与centos6一样,采用的是最小化安装,进入后用ifconfig查看网络情况,结果没这个命令,只能装一个了yum -y install net-tools,装好了之后,看看发现网卡没启动,到/etc/sysconfig/network-scripts/这个目录下去改发现网卡名也不 一样了,以前是叫ifcfg-eht0,现在是这个ifcfg-enp4s0,改好了之后,用service network restart启动一下,这个还是可用。
想关掉防火墙:用service iptables stop结果是不行了出现:Redirecting to /bin/systemctl stop iptables.service
听说以systemd代替了upstart和system V,防火墙也改了,改成了firewalld,,以后的启动与关闭程序只能以 systemctl stop(或start) firewalld.service
查看防火墙状态:firewall-cmd –state
永久性关闭防火墙
#chkconfig --level 35 iptables off (注意中间的是两个英式小短线;重启)
抛砖引玉,大家每人补充一条吧!
安装说明
系统环境:CentOS-6.3
软件:nginx-1.2.6.tar.gz
安装方式:源码编译安装
安装位置:/usr/local/nginx
下载地址:http://nginx.org/en/download.html
安装前提
在安装nginx前,需要确保系统安装了g++、gcc、openssl-devel、pcre-devel和zlib-devel软件。安装必须软件:
[root@admin /]#yum install gcc-c++
yum -y install zlib zlib-devel openssl openssl--devel pcre pcre-devel
检查系统安装的Nginx:
[root@admin local]# find -name nginx
./nginx
./nginx/sbin/nginx
./nginx-1.2.6/objs/nginx
卸载原有的Nginx
[root@admin /]# yum remove nginx
安装
将安装包文件上传到/usr/local中执行以下操作:
[root@admin local]# cd /usr/local
[root@admin local]# tar -zxv -f nginx-1.2.6.tar.gz
[root@admin local]# rm -rf nginx-1.2.6.tar.gz
[root@admin local]# mv nginx-1.2.6 nginx
[root@admin local]# cd /usr/local/nginx
[root@admin nginx]# ./configure --prefix=/usr/local/nginx
[root@admin nginx]# make
[root@admin nginx]# make install
配置
#修改防火墙配置:
[root@admin nginx-1.2.6]# vi + /etc/sysconfig/iptables
#添加配置项
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
#重启防火墙
[root@admin nginx-1.2.6]# service iptables restart
启动
#方法1
[root@admin nginx-1.2.6]# /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
#方法2
[root@admin nginx-1.2.6]# cd /usr/local/nginx/sbin
[root@admin sbin]# ./nginx
停止
#查询nginx主进程号
ps -ef | grep nginx
#停止进程
kill -QUIT 主进程号
#快速停止
kill -TERM 主进程号
#强制停止
pkill -9 nginx
重启
[root@admin local]# /usr/local/nginx/sbin/nginx -s reload
测试
#测试端口
netstat –na|grep 80
#浏览器中测试
http://ip:80
在图行界面系统,又出了新问题,解决方法如下:
**********************开关服务器步骤******************************************
1. 点虚拟机绿色按钮,开启CentOS
2. 登录
3. 开启反向代理服务器nginx
(1) 开启网卡service network start
(2) 到sbin下 # ./nginx
(3) 关闭防火墙 systemctl stop firewalld.service
(4) 用浏览器方式测试http://ip:80
4. 关服务器按相反顺序取反stop/start
5. 关机 shutdown
********************88故障排查************************************************
1. 查看nginx是否ok
#./nginx –t
使用系统信号控制Nginx进程。
Nginx通过识别标准的系统信号来控制进程状态。如:HUP、QUIT、TERM、INT等。(可以使用“kill -l”命令查看可用的进程控制信号列表)
1. killall -s HUP nginx //重新加载配置文件,等同于“killall -1 nginx”
2. killall -s QUIT nginx //安全退出,等同于“kill –3 nginx”
3. killall -s TERM nginx //快速退出,不等待处理完当前连接
添加Nginx服务控制脚本。
考虑到CentOS的使用习惯,可以添加一个Nginx服务脚本,以便使用chkconfig和service命令管理Nginx服务。(本脚本在RHEL上可以使用)
1. vi /etc/init.d/nginx
2.
3. #!/bin/sh
4. #chkconfig: – 90 20
5. #description: Nginx Server Control Script
6. # //如需使用chkconfig管理,注意以上两行内容不可少
7. case “$1” in
8. start)
9. /usr/local/nginx/sbin/nginx
10. ;;
11. stop)
12. /usr/bin/killall -s QUIT nginx
13. ;;
14. restart)
15. $0 stop
16. $0 start
17. ;;
18. reload)
19. /usr/bin/killall -s HUP nginx
20. ;;
21. *)
22. echo “Usage: $0 {start|stop|restart|reload}”
23. exit 1
24. esac
25. exit 0
26.
27. chmod a+x /etc/init.d/nginx //添加执行权限
28. chkconfig --level 2345 nginx on //设置开机启动
以上Nginx脚本可以通过service命令进行管理控制。
1. service nginx stop //关闭
2. service nginx start //启动
3. service nginx restart //重启
4. service nginx reload //重新加载
小知识:
安装中文语言包:
yum groupinstall chinese-support
于是开装中文语言包:
yum install fonts-chinese.noarch
yum install m17n-db-common-cjk
yum install m17n-db-chinese
centos7命令行解决中文乱码
时间:2015-03-13 01:50:32
标签:centos7 中文乱码
参考了一些网上的资料
-----------------版本信息
[zhangfen@localhost ~]$ cat /etc/redhat-release
CentOS Linux release 7.0.1406 (Core)
[zhangfen@localhost ~]$ uname -m
x86_64
[zhangfen@localhost ~]$ uname -r
3.10.0-123.el7.x86_64
[zhangfen@localhost ~]$ uname -a
Linux localhost.localdomain 3.10.0-123.el7.x86_64 #1 SMP Mon Jun 30 12:09:22 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
[zhangfen@localhost ~]$
-------------centos7解决中文乱码问题
[root@localhost ~]# cat /etc/locale.conf
LANG=en_US.UTF-8
[root@localhost ~]# cp /etc/locale.conf /etc/locale.conf_bak
[root@localhost ~]# vim /etc/locale.conf
LANG="zh_CN.GB18030"
LANGUAGE="zh_CN.GB18030:zh_CN.GB2312:zh_CN"
SUPPORTED="zh_CN.UTF-8:zh_CN:zh:en_US.UTF-8:en_US:en"
SYSFONT="lat0-sun16"
**************************前端部署*****************************************
1. 从版本库取被测试版本,比如:wxk_front.tar.gz
2. 通过ftp或共享文件夹 上传到服务器 /mnt/hgfs 目录下
3. 通过 tar –zxvf wxk_front.tar.gz 解压
4. 拷贝到/var/www/wxk/ 目录下(www和wxk目录 手动创建)
5. 修改service.js(/var/www/wxk/app/scripts/service.js) ip设置为服务器ip
**************************后端部署*****************************************
1./var/hfga
把服务端开发提供的三个文件(api-service,auth-service,store-service)放到该目录下,另外需要自行写两个.sh文件,驱动执行(run-api.sh,run-store.sh),写好要运行一下,把服务起来.
2. 起数据库 mongo
3. 起服务器 nginx
4. 如果服务器睡眠了,还需要起网service network start
5. 关防火墙 systemctl stop firewalld.servicre
注意:数据库那块有一些需要配置(数据库授权)
维修客环境搭建记录:
1. cp nginx* /mnt/hgfs
stat -na|grep 80
3.nginx -t
4.cd /usr/local/nginx/
5.ln -s /usr/local/nginx/sbin/nginx .
6.nginx -s
7.cd /usr/local/nginx/conf/
8.vi nginx.conf
9.nginx -s reload
10.cd /var/
11.mkdir hfga
12.cd hfga
13.cp /mnt/hgfs/* .
14.mongo
15.cd /bin/
16.ln -s /usr/local/mongodb/mongodb-iunx-x86_64-2.6.9/bin/* .
17.mongo
18.cd /var/hfga/
19.mongod -h | less
20.mkdir db
21.mongod --syslog --fork --dbpath ./db/
22.mongo
23.mongo -version
24.ssh neutrous@192.169.2.112(不用)
25.vi run-api.sh
26.vi run-store.sh
27.chmod a+x run-api.sh run-store.sh
28../run-store.sh
29../run-api.sh
30.mkdir conf
31.cd conf/
32.vi conf.json
33.mkdir wxk-web
34.mv app/ bower_components/ bower.json wxk-web/
35.cd /var/
36.vi /usr/local/nginx/conf/
37.cd /usr/local/nginx/
38.cd conf
39.vi nginx.conf
40.cd html
41.vi conf
42.cd conf
43.vi nginx.conf
44.cd /var
45.mkdir -p www
46.cd www
47.mv /var/hfga/wxk-web/ wxk
48.cd wxk
49.nginx -s reload
总结:
1.安装虚拟机
2.安装CentOS
3.配置网络
4.安装nginx(要修改nginx.conf文件,监听端口)注意:配置路劲
5.安装mongodb(启动并配置表)
6.编写conf.json
7.把服务程序放到指定目录(写run-api.sh,run-store.sh脚本,并运行)
8.把前端程序放到指定目录(修改service.js的ip与服务器一致)
9.如果部局域网,记得关防火墙 systemctl stop firewalld.service,其他机子才能访问
前端:Angular + js
后端:Martini + go
服务器:Nginx
数据库:MongoDB
操作系统:CentOS
从git取版本
1. 注册git账户
2. 激活
3. 生成pub 公钥和私钥
$ssh-keygen –t rsa –f ~/.ssh/a(a为公钥文件名)
4. 然后把公钥的内容放到
点:add
5. 到命令行 ,建一个文件夹比如:wxk
然后在wxk目录下执行:git clone ssh://lijun@192.168.2.112:29418/wxk/release
如果做了这个配置文件就可以这样用clone命令了
$git clone gerrit2:wxk/release
理论上是吧版本克隆到release目录下
6. 取版本,在release目录下执行
$git fetch origin –tags
$git tag
$git checkout v2.4.3
$cat README
或者
$git branch
$git checkout master
$git tag
$git pull origin master
都可以
-------------------------------------
Git常用命令
查看、添加、提交、删除、找回,重置修改文件
git help <command> # 显示command的help
git show # 显示某次提交的内容 git show $id
git co -- <file> # 抛弃工作区修改
git co . # 抛弃工作区修改
git add <file> # 将工作文件修改提交到本地暂存区
git add . # 将所有修改过的工作文件提交暂存区
git rm <file> # 从版本库中删除文件
git rm <file> --cached # 从版本库中删除文件,但不删除文件
git reset <file> # 从暂存区恢复到工作文件
git reset -- . # 从暂存区恢复到工作文件
git reset --hard # 恢复最近一次提交过的状态,即放弃上次提交后的所有本次修改
git ci <file> git ci . git ci -a # 将git add, git rm和git ci等操作都合并在一起做 git ci -am "some comments"
git ci --amend # 修改最后一次提交记录
git revert <$id> # 恢复某次提交的状态,恢复动作本身也创建次提交对象
git revert HEAD # 恢复最后一次提交的状态
查看文件diff
git diff <file> # 比较当前文件和暂存区文件差异 git diff
git diff <id1>< id2> # 比较两次提交之间的差异
git diff <branch1>..<branch2> # 在两个分支之间比较
git diff --staged # 比较暂存区和版本库差异
git diff --cached # 比较暂存区和版本库差异
git diff --stat # 仅仅比较统计信息
查看提交记录
git log git log <file> # 查看该文件每次提交记录
git log -p <file> # 查看每次详细修改内容的diff
git log -p -2 # 查看最近两次详细修改内容的diff
git log --stat #查看提交统计信息
tig
Mac上可以使用tig代替diff和log,brew install tig
Git 本地分支管理
查看、切换、创建和删除分支
git br -r # 查看远程分支
git br <new_branch> # 创建新的分支
git br -v # 查看各个分支最后提交信息
git br --merged # 查看已经被合并到当前分支的分支
git br --no-merged # 查看尚未被合并到当前分支的分支
git co <branch> # 切换到某个分支
git co -b <new_branch> # 创建新的分支,并且切换过去
git co -b <new_branch> <branch> # 基于branch创建新的new_branch
git co $id # 把某次历史提交记录checkout出来,但无分支信息,切换到其他分支会自动删除
git co $id -b <new_branch> # 把某次历史提交记录checkout出来,创建成一个分支
git br -d <branch> # 删除某个分支
git br -D <branch> # 强制删除某个分支 (未被合并的分支被删除的时候需要强制)
分支合并和rebase
git merge <branch> # 将branch分支合并到当前分支
git merge origin/master --no-ff # 不要Fast-Foward合并,这样可以生成merge提交
git rebase master <branch> # 将master rebase到branch,相当于: git co <branch> && git rebase master && git co master && git merge <branch>
Git补丁管理(方便在多台机器上开发同步时用)
git diff > ../sync.patch # 生成补丁
git apply ../sync.patch # 打补丁
git apply --check ../sync.patch #测试补丁能否成功
Git暂存管理
git stash # 暂存
git stash list # 列所有stash
git stash apply # 恢复暂存的内容
git stash drop # 删除暂存区
Git远程分支管理
git pull # 抓取远程仓库所有分支更新并合并到本地
git pull --no-ff # 抓取远程仓库所有分支更新并合并到本地,不要快进合并
git fetch origin # 抓取远程仓库更新
git merge origin/master # 将远程主分支合并到本地当前分支
git co --track origin/branch # 跟踪某个远程分支创建相应的本地分支
git co -b <local_branch> origin/<remote_branch> # 基于远程分支创建本地分支,功能同上
展开阅读全文