一凌净、基本命令
關(guān)機(jī)
shutdown -h now?? ??? ?立刻關(guān)機(jī)
shutdown -h 5?? ??? ?5分鐘后關(guān)機(jī)
poweroff?? ??? ??? ?立刻關(guān)機(jī)
重啟
shutdown -r now?? ??? ?立刻重啟
shutdown -r 5?? ??? ?5分鐘后重啟
reboot?? ??? ??? ??? ?立刻重啟
--help命令
shutdown --help:
ifconfig ?--help:查看網(wǎng)卡信息
man命令(命令說明書)
man shutdown
注意:man shutdown打開命令說明書之后匆光,使用按鍵q退出
命令:cd 目錄
cd /?? ??? ?切換到根目錄
cd /usr?? ??? ?切換到根目錄下的usr目錄
cd ../?? ??? ?切換到上一級(jí)目錄 或者 ?cd ..
cd ~?? ??? ?切換到home目錄
cd -?? ??? ?切換到上次訪問的目錄
命令:ls [-al]
ls?? ??? ??? ??? ?查看當(dāng)前目錄下的所有目錄和文件
ls -a?? ??? ??? ?查看當(dāng)前目錄下的所有目錄和文件(包括隱藏的文件)
ls -l 或 ll?? ? ? 列表查看當(dāng)前目錄下的所有目錄和文件(列表查看往枣,顯示更多信息)
ls /dir?? ??? ??? ?查看指定目錄下的所有目錄和文件 ? 如:ls /usr
命令:mkdir 目錄
mkdir?? ?aaa?? ??? ??? ?在當(dāng)前目錄下創(chuàng)建一個(gè)名為aaa的目錄
mkdir?? ?/usr/aaa?? ?在指定目錄下創(chuàng)建一個(gè)名為aaa的目錄
命令:rm [-rf] 目錄
刪除文件:
rm 文件?? ??? ?刪除當(dāng)前目錄下的文件
rm -f 文件?? ?刪除當(dāng)前目錄的的文件(不詢問)
刪除目錄:
rm -r aaa?? ?遞歸刪除當(dāng)前目錄下的aaa目錄
rm -rf aaa?? ?遞歸刪除當(dāng)前目錄下的aaa目錄(不詢問)
全部刪除:
rm -rf *?? ?將當(dāng)前目錄下的所有目錄和文件全部刪除
rm -rf /*?? ?【自殺命令哈恰!慎用!慎用华望!慎用蕊蝗!】將根目錄下的所有文件全部刪除
注意:rm不僅可以刪除目錄仅乓,也可以刪除其他文件或壓縮包赖舟,為了方便大家的記憶,無論刪除任何目錄或文件夸楣,都直接使用 rm -rf 目錄/文件/壓縮包
一宾抓、重命名目錄
命令:mv 當(dāng)前目錄 ?新目錄
例如:mv aaa bbb?? ?將目錄aaa改為bbb
注意:mv的語法不僅可以對(duì)目錄進(jìn)行重命名而且也可以對(duì)各種文件,壓縮包等進(jìn)行?? ?重命名的操作
二豫喧、剪切目錄
命令:mv 目錄名稱 目錄的新位置
示例:將/usr/tmp目錄下的aaa目錄剪切到 /usr目錄下面 ? ? mv /usr/tmp/aaa /usr
注意:mv語法不僅可以對(duì)目錄進(jìn)行剪切操作石洗,對(duì)文件和壓縮包等都可執(zhí)行剪切操作
三、拷貝目錄
命令:cp -r 目錄名稱 目錄拷貝的目標(biāo)位置 ? -r代表遞歸
示例:將/usr/tmp目錄下的aaa目錄復(fù)制到 /usr目錄下面 ? ? cp /usr/tmp/aaa ?/usr
注意:cp命令不僅可以拷貝目錄還可以拷貝文件紧显,壓縮包等讲衫,拷貝文件和壓縮包時(shí)不?? ?用寫-r遞歸
命令:find 目錄 參數(shù) 文件名稱
示例:find /usr/tmp -name 'a*' ? ?查找/usr/tmp目錄下的所有以a開頭的目錄或文件
命令:touch 文件名
示例:在當(dāng)前目錄創(chuàng)建一個(gè)名為aa.txt的文件?? ??? ?touch ?aa.txt
命令:rm -rf 文件名
【vi編輯器的3種模式】
基本上vi可以分為三種狀態(tài)篙程,分別是命令模式(command mode)枷畏、插入模式(Insert mode)和底行模式(last line mode),各模式的功能區(qū)分如下:
1) 命令行模式command mode)
控制屏幕光標(biāo)的移動(dòng)虱饿,字符拥诡、字或行的刪除触趴,查找,移動(dòng)復(fù)制某區(qū)段及進(jìn)入Insert mode下渴肉,或者到 last line mode冗懦。
命令行模式下的常用命令:
【1】控制光標(biāo)移動(dòng):↑,↓仇祭,j
【2】刪除當(dāng)前行:dd
【3】查找:/字符
【4】進(jìn)入編輯模式:i o a
【5】進(jìn)入底行模式::
2) 編輯模式(Insert mode)
只有在Insert mode下批狐,才可以做文字輸入,按「ESC」鍵可回到命令行模式前塔。
編輯模式下常用命令:
【1】ESC 退出編輯模式到命令行模式嚣艇;
3) 底行模式(last line mode)
將文件保存或退出vi,也可以設(shè)置編輯環(huán)境华弓,如尋找字符串食零、列出行號(hào)……等。
底行模式下常用命令:
【1】退出編輯: ? :q
【2】強(qiáng)制退出: ? :q!
【3】保存并退出: ?:wq
打開文件
命令:vi 文件名
示例:打開當(dāng)前目錄下的aa.txt文件 ? ? vi aa.txt 或者 vim aa.txt
注意:使用vi編輯器打開文件后寂屏,并不能編輯贰谣,因?yàn)榇藭r(shí)處于命令模式,點(diǎn)擊鍵盤i/a/o進(jìn)入編輯模式迁霎。
編輯文件
使用vi編輯器打開文件后點(diǎn)擊按鍵:i 吱抚,a或者o即可進(jìn)入編輯模式。
i:在光標(biāo)所在字符前開始插入
a:在光標(biāo)所在字符后開始插入
o:在光標(biāo)所在行的下面另起一新行插入
保存或者取消編輯
保存文件:
第一步:ESC ?進(jìn)入命令行模式
第二步::?? ? 進(jìn)入底行模式
第三步:wq?? ? 保存并退出編輯
取消編輯:
第一步:ESC ?進(jìn)入命令行模式
第二步::?? ? 進(jìn)入底行模式
第三步:q!?? ? 撤銷本次修改并退出編輯
文件的查看命令:cat/more/less/tail
cat:看最后一屏
示例:使用cat查看/etc/sudo.conf文件考廉,只能顯示最后一屏內(nèi)容
cat sudo.conf
more:百分比顯示
示例:使用more查看/etc/sudo.conf文件秘豹,可以顯示百分比,回車可以向下一行昌粤,空格可以向下一頁既绕,q可以退出查看
more sudo.conf
less:翻頁查看
示例:使用less查看/etc/sudo.conf文件,可以使用鍵盤上的PgUp和PgDn向上?? ?和向下翻頁涮坐,q結(jié)束查看
less sudo.conf
tail:指定行數(shù)或者動(dòng)態(tài)查看
示例:使用tail -10 查看/etc/sudo.conf文件的后10行凄贩,Ctrl+C結(jié)束
tail -10 sudo.conf
rwx:r代表可讀,w代表可寫袱讹,x代表該文件是一個(gè)可執(zhí)行文件疲扎,如果rwx任意位置變?yōu)?則代表不可讀或不可寫或不可執(zhí)行文件。
示例:給aaa.txt文件權(quán)限改為可執(zhí)行文件權(quán)限捷雕,aaa.txt文件的權(quán)限是-rw-------
第一位:-就代表是文件椒丧,d代表是文件夾
第一段(3位):代表擁有者的權(quán)限
第二段(3位):代表擁有者所在的組,組員的權(quán)限
第三段(最后3位):代表的是其他用戶的權(quán)限
421 ?421 ?421
- ?rw-? ?---? ? ?---
命令:chmod+xaaa.txt
或者采用8421法
命令:chmod100aaa.txt
Windows的壓縮文件的擴(kuò)展名 ?.zip/.rar
linux中的打包文件:aa.tar
linux中的壓縮文件:bb.gz
linux中打包并壓縮的文件:.tar.gz
Linux中的打包文件一般是以.tar結(jié)尾的瓜挽,壓縮的命令一般是以.gz結(jié)尾的。
而一般情況下打包和壓縮是一起進(jìn)行的征绸,打包并壓縮后的文件的后綴名一般.tar.gz久橙。
命令:tar -zcvf 打包壓縮后的文件名 要打包的文件
其中:z:調(diào)用gzip壓縮命令進(jìn)行壓縮
c:打包文件
v:顯示運(yùn)行過程
f:指定文件名
示例:打包并壓縮/usr/tmp 下的所有文件 壓縮后的壓縮包指定名稱為xxx.tar
tar -zcvf ab.tar aa.txt bb.txt
或:tar -zcvf ab.tar ?*
命令:tar [-zxvf] 壓縮文件
其中:x:代表解壓
示例:將/usr/tmp 下的ab.tar解壓到當(dāng)前目錄下
示例:將/usr/tmp 下的ab.tar解壓到根目錄/usr下
tar -xvf ab.tar -C /usr------C代表指定解壓的位置
grep命令是一種強(qiáng)大的文本搜索工具
使用實(shí)例:
ps -ef |grepsshd? 查找指定ssh服務(wù)進(jìn)程
ps -ef |grepsshd |grep-vgrep查找指定服務(wù)進(jìn)程,排除gerp身
ps -ef |grepsshd -c 查找指定進(jìn)程個(gè)數(shù)
find命令在目錄結(jié)構(gòu)中搜索文件淆衷,并對(duì)搜索結(jié)果執(zhí)行指定的操作邻寿。?
find 默認(rèn)搜索當(dāng)前目錄及其子目錄蔫磨,并且不過濾任何結(jié)果(也就是返回所有文件)胳嘲,將它們?nèi)硷@示在屏幕上温算。
使用實(shí)例:
find. -name"*.log"-ls? 在當(dāng)前目錄查找以.log結(jié)尾的文件,并顯示詳細(xì)信息佳头。
find/root/ -perm600查找/root/目錄下權(quán)限為600的文件
find. -typef -name"*.log"查找當(dāng)目錄鹰贵,以.log結(jié)尾的普通文件
find. -typed |sort查找當(dāng)前所有目錄并排序
find. -size +100M? 查找當(dāng)前目錄大于100M的文件
locate 讓使用者可以很快速的搜尋某個(gè)路徑。默認(rèn)每天自動(dòng)更新一次康嘉,所以使用locate 命令查不到最新變動(dòng)過的文件碉输。為了避免這種情況,可以在使用locate之前亭珍,先使用updatedb命令敷钾,手動(dòng)更新數(shù)據(jù)庫。如果數(shù)據(jù)庫中沒有查詢的數(shù)據(jù)肄梨,則會(huì)報(bào)出locate: can not stat () `/var/lib/mlocate/mlocate.db': No such file or directory該錯(cuò)誤阻荒!updatedb即可!
yum -y install mlocate 如果是精簡版CentOS系統(tǒng)需要安裝locate命令
使用實(shí)例:
updatedb
locate /etc/sh 搜索etc目錄下所有以sh開頭的文件
locatepwd查找和pwd相關(guān)的所有文件
whereis命令是定位可執(zhí)行文件众羡、源代碼文件侨赡、幫助文件在文件系統(tǒng)中的位置。這些文件的屬性應(yīng)屬于原始代碼纱控,二進(jìn)制文件辆毡,或是幫助文件。
使用實(shí)例:
whereisls? ? 將和ls文件相關(guān)的文件都查找出來
which命令的作用是在PATH變量指定的路徑中甜害,搜索某個(gè)系統(tǒng)命令的位置,并且返回第一個(gè)搜索結(jié)果球昨。
使用實(shí)例:
whichpwd查找pwd命令所在路徑
whichjava? 查找path中java的路徑
su用于用戶之間的切換主慰。但是切換前的用戶依然保持登錄狀態(tài)嚣州。如果是root 向普通或虛擬用戶切換不需要密碼,反之普通用戶切換到其它任何用戶都需要密碼驗(yàn)證共螺。
sutest:切換到test用戶该肴,但是路徑還是/root目錄
su -test: 切換到test用戶,路徑變成了/home/test
su : 切換到root用戶藐不,但是路徑還是原來的路徑
su - : 切換到root用戶匀哄,并且路徑是/root
su不足:如果某個(gè)用戶需要使用root權(quán)限秦效、則必須要把root密碼告訴此用戶。
退出返回之前的用戶:exit
sudo是為所有想使用root權(quán)限的普通用戶設(shè)計(jì)的涎嚼≮逯荩可以讓普通用戶具有臨時(shí)使用root權(quán)限的權(quán)利。只需輸入自己賬戶的密碼即可法梯。
進(jìn)入sudo配置文件命令:
vi/etc/sudoer或者visudo
案例:
允許hadoop用戶以root身份執(zhí)行各種應(yīng)用命令苔货,需要輸入hadoop用戶的密碼。
hadoop? ALL=(ALL)? ALL
案例:
只允許hadoop用戶以root身份執(zhí)行l(wèi)s 立哑、cat命令夜惭,并且執(zhí)行時(shí)候免輸入密碼。
配置文件中:
hadoop? ALL=NOPASSWD:/bin/ls,/bin/cat
service iptables status--查看iptables服務(wù)的狀態(tài)
service iptablesstart--開啟iptables服務(wù)
service iptablesstop--停止iptables服務(wù)
service iptables restart--重啟iptables服務(wù)
chkconfig iptablesoff--關(guān)閉iptables服務(wù)的開機(jī)自啟動(dòng)
chkconfig iptableson--開啟iptables服務(wù)的開機(jī)自啟動(dòng)
[root@node1 ~]# vi /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=node1
[root@node1 ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
/etc/hosts文件用于在通過主機(jī)名進(jìn)行訪問時(shí)做ip地址解析之用。所以至耻,你想訪問一個(gè)什么樣的主機(jī)名若皱,就需要把這個(gè)主機(jī)名和它對(duì)應(yīng)的ip地址。
[root@node1~]# vi /etc/hosts
#### 在最后加上
192.168.52.201node1
192.168.52.202node2
192.168.52.203node3
crontab是Unix和Linux用于設(shè)置定時(shí)任務(wù)的指令走触。通過crontab命令,可以在固定間隔時(shí)間,執(zhí)行指定的系統(tǒng)指令或shell腳本疤苹。時(shí)間間隔的單位可以是分鐘互广、小時(shí)、日卧土、月惫皱、周及以上的任意組合。
crontab安裝:
yuminstallcrontabs
服務(wù)操作說明:
service crondstart## 啟動(dòng)服務(wù)
service crondstop## 關(guān)閉服務(wù)
service crond restart## 重啟服務(wù)
crontab [-u user] file
crontab [-u user] [ -e | -l | -r ]
參數(shù)說明:
-u user:用來設(shè)定某個(gè)用戶的crontab服務(wù)
file:file是命令文件的名字,表示將file做為crontab的任務(wù)列表文件
并載入crontab尤莺。
-e:編輯某個(gè)用戶的crontab文件內(nèi)容旅敷。如果不指定用戶,則表示編輯當(dāng)前
用戶的crontab文件颤霎。
-l:顯示某個(gè)用戶的crontab文件內(nèi)容媳谁。如果不指定用戶,則表示顯示當(dāng)前
用戶的crontab文件內(nèi)容友酱。
-r:刪除定時(shí)任務(wù)配置晴音,從/var/spool/cron目錄中刪除某個(gè)用戶的crontab
文件,如果不指定用戶缔杉,則默認(rèn)刪除當(dāng)前用戶的crontab文件锤躁。
命令示例:
crontabfile [-u user]## 用指定的文件替代目前的crontab
crontab -l [-u user]## 列出用戶目前的crontab
crontab -e [-u user]## 編輯用戶目前的crontab
命令:* ??* ???* ??* ??* ??command ?
解釋:分 ?時(shí) ?日 ?月 ?周 ?命令
第1列表示分鐘1~59 每分鐘用*或者 */1表示 ? ?
第2列表示小時(shí)0~23(0表示0點(diǎn))
第3列表示日期1~31 ?
第4列表示月份1~12 ?
第5列標(biāo)識(shí)號(hào)星期0~6(0表示星期天) ?
第6列要運(yùn)行的命令
配置實(shí)例:
先打開定時(shí)任務(wù)所在的文件:
crontab-e
每分鐘執(zhí)行一次date命令
*/1****date>>/root/date.txt
每晚的21:30重啟apache或详。
3021***servicehttpdrestart
每月1系羞、10郭计、22日的4:45重啟apache。
4541,10,22**servicehttpdrestart
每周六觉啊、周日的1:10重啟apache拣宏。
101**6,0servicehttpdrestart
每天18:00至23:00之間每隔30分鐘重啟apache。
0,3018-23***servicehttpdrestart
晚上11點(diǎn)到早上7點(diǎn)之間杠人,每隔一小時(shí)重啟apache
*23-7/1***servicehttpdrestart
命令:pwd ? ? 查看當(dāng)前目錄路徑
命令:ps -ef ? ?查看所有正在運(yùn)行的進(jìn)程
命令:kill pid 或者 kill -9 pid(強(qiáng)制殺死進(jìn)程) ? ? ? ? ? pid:進(jìn)程號(hào)
ifconfig:查看網(wǎng)卡信息
命令:ifconfig 或 ifconfig | more
ping:查看與某臺(tái)機(jī)器的連接情況
命令:ping ip
netstat -an:查看當(dāng)前系統(tǒng)端口
命令:netstat -an
搜索指定端口
命令:netstat -an | grep 8080
命令:setup
命令:service network restart
命令:su -?用戶名
命令:chkconfig iptables off
或者:
iptables-L;
iptables-F;
serviceiptables stop
命令:chmod 777
命令:ctrl + l
esc后:
保存并退出快捷鍵:shift+z+z
光標(biāo)跳到最后一行快捷鍵:shift+g
刪除一行:dd
復(fù)制一行內(nèi)容:y+y
粘貼復(fù)制的內(nèi)容:p
先卸載open-jdk
java -version
rpm -qa | grep java
rpm -e --nodeps java-1.7.0-openjdk-1.7.0.45-2.4.3.3.el6.x86_64
rpm -e --nodeps java-1.6.0-openjdk-1.6.0.0-1.66.1.13.0.el6.x86_64
開始安裝:
mkdir /usr/local/src/java
rz 上傳jdk tar包
tar -zxvf jdk-8u181-linux-x64.tar.gz
yum install glibc.i686
配置環(huán)境變量:
vi /etc/profile
在末尾行添加
#set java environment
JAVA_HOME=/usr/local/src/jdk8/jdk1.8.0_181
CLASSPATH=.:$JAVA_HOME/lib.tools.jar
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME CLASSPATH PATH
保存退出
source /etc/profile ?使更改的配置立即生效
java -version ?查看JDK版本信息嗡善,如果顯示出1.8證明成功
創(chuàng)建目錄:mkdir?/usr/local/src/mysql5.6
上傳:MySQL-5.6.34-1.rhel5.x86_64.rpm-bundle.tar 到上面的目錄中
第一步:解壓
? ? ?命令:tar?-xvf MySQL-5.6.34-1.rhel5.x86_64.rpm-bundle.tar
第二步:檢測是否已經(jīng)安裝了mysql
? ? ?命令:rpm -qa | grep mysql ??
? ? ?如果已經(jīng)安裝了辑莫,將其卸載,如:
? ? ?rpm -e --nodeps ?mysql-libs-5.1.71-1.el6.x86_64
第三步:安裝MySQL的服務(wù)端
? ? ?命令:rpm -ivh MySQL-server-5.6.34-1.rhel5.x86_64.rpm
第四步:安裝MySQL的客戶端
? ? ?命令:rpm -ivh MySQL-client-5.6.34-1.rhel5.x86_64.rpm
第五步:查看MySQL服務(wù)運(yùn)行狀態(tài)
? ? ?命令:service mysql status
第六步:啟動(dòng)MySQL服務(wù)
? ? ?命令:service?mysql?start
第七步:使用root賬號(hào)登錄mysql
在安裝mysql?server時(shí)有句提示:
注意:這個(gè)密碼是不安全的罩引,所有需要修改初始密碼各吨。
使用密碼登錄mysql賬號(hào):mysql -uroot -p
修改root密碼:SET PASSWORD = PASSWORD('root');
11.2.3?開機(jī)自動(dòng)啟動(dòng)設(shè)置
加入到系統(tǒng)服務(wù):
chkconfig --add mysql
自動(dòng)啟動(dòng):
chkconfig mysql on
查詢列表:
chkconfig
說明:都沒關(guān)閉(off)時(shí)是沒有自動(dòng)啟動(dòng)。
登錄:
mysql -uroot –proot
設(shè)置遠(yuǎn)程訪問(使用root密碼):
grant all privileges on *.* to 'root' @'%' identified by 'root';
flush privileges;
退出mysql袁铐,在centos環(huán)境下打開3306防火墻
/sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
/etc/rc.d/init.d/iptables save
/etc/init.d/iptables status
準(zhǔn)備工作:將web項(xiàng)目打成war包揭蜒,改名為ROOT.war
一般情況下,發(fā)布應(yīng)用程序都不是使用root用戶的剔桨,需要?jiǎng)?chuàng)建一個(gè)普通用戶來發(fā)布程序屉更;
創(chuàng)建ucenter用戶:
useradd -d /ucenter ucenter
設(shè)置密碼:
passwd ucenter (密碼 ucenter)
切換用戶:
su -?ucenter
tomcat只要解壓就可以使用。
1洒缀、創(chuàng)建web目錄
mkdir?/ucenter/web
2瑰谜、上傳apache-tomcat-7.0.57.tar.gz
3、解壓:tar -xvf apache-tomcat-7.0.57.tar.gz
4树绩、重命名:mv apache-tomcat-7.0.57 itcast-usermanage
5萨脑、啟動(dòng)tomcat:
cd itcast-usermanage/bin/
./startup.sh 或者 sh?startup.sh
6、查看日志:
tail -f ../logs/catalina.out
7饺饭、查看效果 http://192.168.0.160:8080/
發(fā)現(xiàn)無法訪問:
8渤早、防火墻打開 8080 端口
/sbin/iptables -I INPUT -p tcp --dport 8080 -j ACCEPT
? ? ?/etc/rc.d/init.d/iptables save
9、安裝成功
1砰奕、上傳usermanage.sql和ROOT.war到/ucenter/web
2蛛芥、執(zhí)行數(shù)據(jù)庫腳本
? ? ?cat user_manager.sql | mysql -uroot -p123456
3、部署web程序
3.1?刪除webapps下的所有文件
? ? ?cd?/ucenter/web/usermanage/webapps
? ? ?rm -rf *
3.2?拷貝ROOT.war到webapps
? ? ?cp /ucenter/web/ROOT.war .
3.3?重新啟動(dòng)tomcat
? ? ?cd ../bin/
? ? ?sh startup.sh && tail -f ../logs/catalina.out
3.4?啟動(dòng)瀏覽器測試
注意事項(xiàng):Centos環(huán)境下部署項(xiàng)目中文亂碼問題解決方案
?? ?今天在一臺(tái)新的CentOS機(jī)器上使用c3p0連接池操作mysql數(shù)據(jù)庫出現(xiàn)中文亂碼問題军援,具體表現(xiàn)為:查詢時(shí)無中文亂碼問題,寫數(shù)據(jù)時(shí)中文亂碼称勋,查看了機(jī)器上數(shù)據(jù)庫字符集也是UTF8胸哥,應(yīng)該不會(huì)出現(xiàn)中文亂碼才對(duì),最后在c3p0配置文件中 jdbcUrl后加上:?useUnicode=true&characterEncoding=UTF8 中文就不會(huì)亂碼了赡鲜。
【C3P0配置文件】
<?xml version="1.0" encoding="UTF-8"?>
com.mysql.jdbc.Driver
jdbc:mysql://localhost:3306/user_manager_yun6?useUnicode=true&characterEncoding=UTF8
root
root
2
5
1
5
相關(guān)的安裝包我打包到云盤上了空厌,鏈接:https://pan.baidu.com/s/13NDYYil4mgLhkb5CYsc2Ww提取碼:66tn
單節(jié)點(diǎn)FastDFS
整個(gè)安裝過程非常復(fù)雜庐船,很容易出錯(cuò),建議進(jìn)行多次備份嘲更。
我們這里不打算安裝多臺(tái)虛擬機(jī)筐钟,因此會(huì)把tracker和storage都安裝在一起。
GCC用來對(duì)C語言代碼進(jìn)行編譯運(yùn)行赋朦,使用yum命令安裝:
yum -yinstallgcc
后面會(huì)用到解壓命令(unzip)篓冲,所以這里可以用yum把unzip 也裝一下
yuminstall-y unzip zip
yum -yinstalllibevent
解壓剛剛上傳的libfastcommon-master.zip
unzip libfastcommon-master.zip
進(jìn)入解壓完成的目錄
cd libfastcommon-master
編譯并且安裝:
./make.sh
./make.sh install
tar -zxvf FastDFS_v5.08.tar.gz
cd FastDFS
./make.sh
./make.sh install
如果安裝成功,會(huì)看到/etc/init.d/下看到提供的腳本文件:
ll /etc/init.d/ | grep fdfs
fdfs_trackerd?是tracker啟動(dòng)腳本
fdfs_storaged?是storage啟動(dòng)腳本
能夠在 /etc/fdfs/ 目錄下看到默認(rèn)的配置文件模板:
ll/etc/fdfs/
tarcker.conf.sample?是tracker的配置文件模板
storage.conf.sample?是storage的配置文件模板
client.conf.sample?是客戶端的配置文件模板
11.4.5 配置并啟動(dòng)tracker服務(wù)
1)首先將模板文件復(fù)制
cp/etc/fdfs/tracker.conf.sample /etc/fdfs/tracker.conf
2)修改復(fù)制后的配置文件:
vim/etc/fdfs/tracker.conf
# 修改的內(nèi)容如下:
base_path=/項(xiàng)目名/tracker# 存儲(chǔ)日志和數(shù)據(jù)的根目錄
3)新建目錄:
mkdir -p/項(xiàng)目名/tracker
注意:關(guān)閉防火墻:
chkconfigiptablesoff
4)啟動(dòng)和停止
service fdfs_trackerdstart# 啟動(dòng)fdfs_trackerd服務(wù)宠哄,停止用stop
檢查FastDFS Tracker Server是否啟動(dòng)成功:
ps-ef | grep fdfs_trackerd
設(shè)置tracker服務(wù)開機(jī)啟動(dòng):
chkconfigfdfs_trackerdon
11.4.6配置并啟動(dòng)storage服務(wù)
1)首先將模板文件復(fù)制
cp/etc/fdfs/storage.conf.sample /etc/fdfs/storage.conf
2)修改復(fù)制后的配置文件:
vim/etc/fdfs/storage.conf
# 修改的內(nèi)容如下:
base_path=/項(xiàng)目名/storage# 數(shù)據(jù)和日志文件存儲(chǔ)根目錄
store_path0=/項(xiàng)目名/storage# 第一個(gè)存儲(chǔ)目錄
tracker_server=192.168.56.101:22122#? tracker服務(wù)器IP和端口
3)新建目錄:
mkdir -p/項(xiàng)目名/storage
注意關(guān)閉防火墻:?chkconfig iptables off
4)啟動(dòng)和停止
service fdfs_storagedstart# 啟動(dòng)fdfs_storaged服務(wù)壹将,停止用stop
設(shè)置storage服務(wù)開機(jī)啟動(dòng):
chkconfigfdfs_storagedon
ps -ef | grep fdfs
tar-zxvffastdfs-nginx-module_v1.16.tar.gz
1)進(jìn)入src目錄
cd fastdfs-nginx-module/src/
2)編輯config
vimconfig
使用以下底行命令:
:%s+/usr/local/+/usr/+g
將所有的/usr/local替換為 /usr,這個(gè)才是正確的目錄:
11.5.3?配置nginx與FastDFS關(guān)聯(lián)配置文件
復(fù)制 fastdfs-nginx-module 源碼中的配置文件到/etc/fdfs 目錄毛嫉, 并修改
cp/usr/local/項(xiàng)目名/fastdfs-nginx-module/src/mod_fastdfs.conf/etc/fdfs/
vi/etc/fdfs/mod_fastdfs.conf
修改以下配置:
connect_timeout=10# 客戶端訪問文件連接超時(shí)時(shí)長(單位:秒)
tracker_server=192.168.56.101:22122# tracker服務(wù)IP和端口
url_have_group_name=true# 訪問鏈接前綴加上組名
store_path0=/leyou/storage# 文件存儲(chǔ)路徑
復(fù)制 FastDFS 的部分配置文件到/etc/fdfs 目錄
cd/usr/local/項(xiàng)目名/FastDFS/conf/
cp http.conf mime.types/etc/fdfs/
1诽俯、安裝nginx的依賴庫
yum -yinstallgcc pcre pcre-devel zlib zlib-devel openssl openssl-devel
2、解壓安裝包
tar -zxvf nginx-1.10.0.tar.gz
3承粤、配置nginx安裝包暴区,并指定fastdfs-nginx-model
cd nginx-1.10.0
./configure --prefix=/opt/nginx --sbin-path=/usr/bin/nginx --add-module=/usr/local/leyou/fastdfs-nginx-module/src
注意:在執(zhí)行./configure配置nginx參數(shù)的時(shí)候,需要將fastdfs-nginx-moudle源碼作為模塊編譯進(jìn)去辛臊。
4仙粱、編譯并安裝
make&&makeinstall
1、 進(jìn)入nginx目錄:
cd/usr/local/項(xiàng)目名/nginx-1.10.0/
2浪讳、 配置FastDFS 模塊
./configure --prefix=/opt/nginx --sbin-path=/usr/bin/nginx --add-module=/usr/local/項(xiàng)目名/fastdfs-nginx-module/src
注意:這次配置時(shí)缰盏,要添加fastdfs-nginx-moudle模塊
3、編譯淹遵,注意口猜,這次不要安裝(install)
make
4、替換nginx二進(jìn)制文件:
備份:
mv/usr/bin/nginx /usr/bin/nginx-bak
用新編譯的nginx啟動(dòng)文件替代原來的:
cp objs/nginx /usr/bin/
配置nginx整合fastdfs-module模塊
我們需要修改nginx配置文件透揣,在/opt/nginx/config/nginx.conf文件中:
vim/opt/nginx/conf/nginx.conf
將文件中济炎,原來的server 80{ ...}?部分代碼替換為如下代碼:
server{
listen80;
server_nameimage.項(xiàng)目名.com;
# 監(jiān)聽域名中帶有g(shù)roup的,交給FastDFS模塊處理
location~/group([0-9])/ {
ngx_fastdfs_module;
}
location/ {
roothtml;
indexindex.html index.htm;
}
error_page500 502 503 504? /50x.html;
location=/50x.html {
roothtml;
}
}
啟動(dòng)nginx:
nginx# 啟動(dòng)nginx
nginx -sstop# 停止nginx
nginx -s reload# 重新載入配置文件
# 可通過ps -ef | grep nginx查看nginx是否已啟動(dòng)成功
11.6.4?設(shè)置nginx開機(jī)啟動(dòng)
創(chuàng)建一個(gè)開機(jī)啟動(dòng)的腳本:
vim /etc/init.d/nginx
添加以下內(nèi)容:
#!/bin/sh
#
# nginx - this script starts and stops the nginx daemon
#
# chkconfig:? - 85 15
# description:? NGINX is an HTTP(S) server, HTTP(S) reverse \
#? ? ? ? ? ? ? proxy and IMAP/POP3 proxy server
# processname: nginx
# config:? ? ? /etc/nginx/nginx.conf
# config:? ? ? /etc/sysconfig/nginx
# pidfile:? ? /var/run/nginx.pid
# Source function library.
. /etc/rc.d/init.d/functions
# Source networking configuration.
. /etc/sysconfig/network
# Check that networking is up.
["$NETWORKING"="no"] &&exit0
nginx="/usr/bin/nginx"
prog=$(basename$nginx)
NGINX_CONF_FILE="/opt/nginx/conf/nginx.conf"
[ -f /etc/sysconfig/nginx ] && . /etc/sysconfig/nginx
lockfile=/var/lock/subsys/nginx
make_dirs() {
# make required directories
user=`$nginx-V 2>&1 | grep"configure arguments:.*--user="| sed's/[^*]*--user=\([^ ]*\).*/\1/g'-`
if[ -n"$user"];then
if[ -z"`grep$user/etc/passwd`"];then
useradd -M -s /bin/nologin$user
fi
options=`$nginx-V 2>&1 | grep'configure arguments:'`
foroptin$options;do
if[ `echo$opt| grep'.*-temp-path'` ];then
value=`echo$opt| cut -d"="-f 2`
if[ ! -d"$value"];then
# echo "creating" $value
mkdir -p$value&& chown -R$user$value
fi
fi
done
fi
}
start() {
[ -x$nginx] ||exit5
[ -f$NGINX_CONF_FILE] ||exit6
? ? make_dirs
echo-n $"Starting$prog: "
daemon$nginx-c$NGINX_CONF_FILE
? ? retval=$?
echo
[$retval-eq 0 ] && touch$lockfile
return$retval
}
stop() {
echo-n $"Stopping$prog: "
killproc$prog-QUIT
? ? retval=$?
echo
[$retval-eq 0 ] && rm -f$lockfile
return$retval
}
restart() {
configtest ||return$?
? ? stop
? ? sleep 1
? ? start
}
reload() {
configtest ||return$?
echo-n $"Reloading$prog: "
killproc$nginx-HUP
? ? RETVAL=$?
echo
}
force_reload() {
? ? restart
}
configtest() {
$nginx-t -c$NGINX_CONF_FILE
}
rh_status() {
status$prog
}
rh_status_q() {
? ? rh_status >/dev/null 2>&1
}
case"$1"in
? ? start)
rh_status_q &&exit0
$1
? ? ? ? ;;
? ? stop)
rh_status_q ||exit0
$1
? ? ? ? ;;
? ? restart|configtest)
$1
? ? ? ? ;;
? ? reload)
rh_status_q ||exit7
$1
? ? ? ? ;;
? ? force-reload)
? ? ? ? force_reload
? ? ? ? ;;
? ? status)
? ? ? ? rh_status
? ? ? ? ;;
? ? condrestart|try-restart)
rh_status_q ||exit0
? ? ? ? ? ? ;;
? ? *)
echo$"Usage:$0{start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}"
exit2
esac
修改文件權(quán)限辐真,并加入服務(wù)列表
# 修改權(quán)限
chmod777 /etc/init.d/nginx
# 添加到服務(wù)列表
chkconfig--add /etc/init.d/nginx
設(shè)置開機(jī)啟動(dòng)
chkconfignginxon
需要虛擬機(jī)JDK1.8及以上
出于安全考慮须尚,elasticsearch默認(rèn)不允許以root賬號(hào)運(yùn)行。
創(chuàng)建用戶:
useraddleyou
設(shè)置密碼:
passwdleyou
切換用戶:
su- leyou
我們將安裝包上傳到:/home/leyou目錄
解壓縮:
tar-zxvfelasticsearch-6.2.4.tar.gz
我們把目錄重命名:
mvelasticsearch-6.3.0/ elasticsearch
進(jìn)入侍咱,查看目錄結(jié)構(gòu):
我們進(jìn)入config目錄:cd config
需要修改的配置文件有兩個(gè):
1耐床、jvm.options
Elasticsearch基于Lucene的,而Lucene底層是java實(shí)現(xiàn)楔脯,因此我們需要配置jvm參數(shù)撩轰。
編輯jvm.options:
vimjvm.options
默認(rèn)配置如下:
-Xms1g
-Xmx1g
內(nèi)存占用太多了,我們調(diào)小一些:
-Xms512m
-Xmx512m
2、elasticsearch.yml
vimelasticsearch.yml
修改數(shù)據(jù)和日志目錄:
path.data:/home/leyou/elasticsearch/data # 數(shù)據(jù)目錄位置
path.logs:/home/leyou/elasticsearch/logs # 日志目錄位置
我們把data和logs目錄修改指向了elasticsearch的安裝目錄堪嫂。但是這兩個(gè)目錄并不存在偎箫,因此我們需要?jiǎng)?chuàng)建出來。
進(jìn)入elasticsearch的根目錄皆串,然后創(chuàng)建:
mkdirdata
mkdirlogs
修改綁定的ip:
network.host: 0.0.0.0# 綁定到0.0.0.0淹办,允許任何ip來訪問
默認(rèn)只允許本機(jī)訪問,修改為0.0.0.0后則可以遠(yuǎn)程訪問
進(jìn)入elasticsearch/bin目錄恶复,可以看到下面的執(zhí)行文件:
然后輸入命令:
./elasticsearch
或者后臺(tái)運(yùn)行:
./elasticsearch -d
修改elasticsearch.yml文件怜森,在最下面添加如下配置: 然后重啟
bootstrap.system_call_filter:false
我們用的是leyou用戶,而不是root寂玲,所以文件權(quán)限不足塔插。
首先用root用戶登錄。直接輸入exit命令
然后修改配置文件:
vim/etc/security/limits.conf
添加下面的內(nèi)容:
*soft nofile 65536
*hard nofile 131072
*soft nproc 4096
*hard nproc 4096
[1]: max number of threads [1024] for user [leyou] is too low, increase to at least [4096]
繼續(xù)修改配置:
vim/etc/security/limits.d/90-nproc.conf
修改下面的內(nèi)容:
*soft nproc 1024
改為
*soft nproc 4096
11.7.8?錯(cuò)誤4:進(jìn)程虛擬內(nèi)存
[3]: max virtual memory areas vm.max_map_count [65530] likely too low, increase to at least [262144]
vm.max_map_count:限制一個(gè)進(jìn)程可以擁有的VMA(虛擬內(nèi)存區(qū)域)的數(shù)量拓哟,繼續(xù)修改配置文件想许, :
vim/etc/sysctl.conf
添加下面內(nèi)容:
vm.max_map_count=655360
然后執(zhí)行命令:
sysctl-p
所有錯(cuò)誤修改完畢,一定要重啟你的 Xshell終端断序,否則配置無效流纹。
cd/usr/local/myapp
mkdir rabbitmq
cdrabbitmq
1、在線安裝
yuminstall esl-erlang_17.3-1~centos~6_amd64.rpm
yuminstall esl-erlang-compat-R14B-1.el6.noarch.rpm
2违诗、離線安裝
依次執(zhí)行命令:
1)rpm -ivh esl-erlang-17.3-1.x86_64.rpm --force --nodeps
2)rpm -ivh esl-erlang_17.3-1~centos~6_amd64.rpm --force --nodeps
3)rpm -ivh esl-erlang-compat-R14B-1.el6.noarch.rpm --force --nodeps
安裝:
rpm-ivh rabbitmq-server-3.4.1-1.noarch.rpm
cp/usr/share/doc/rabbitmq-server-3.4.1/rabbitmq.config.example
/etc/rabbitmq/rabbitmq.config
開啟用戶遠(yuǎn)程訪問
vi/etc/rabbitmq/rabbitmq.config
注意要去掉后面的逗號(hào)漱凝。
service rabbitmq-serverstart
service rabbitmq-serverstop
service rabbitmq-serverrestart
rabbitmq-pluginsenablerabbitmq_management
service rabbitmq-server restart
chkconfig rabbitmq-serveron
/sbin/iptables -I INPUT -p tcp --dport15672-j ACCEPT
/etc/rc.d/init.d/iptables save
解壓
tar-xvfredis-4.0.9.tar.gz
編譯安裝
mvredis-4.0.9redis
cdredis
make&& make install
修改安裝目錄下的redis.conf文件
vimredis.conf
修改以下配置:
#bind 127.0.0.1 # 將這行代碼注釋诸迟,監(jiān)聽所有的ip地址茸炒,外網(wǎng)可以訪問
protected-modeno# 把yes改成no,允許外網(wǎng)訪問
daemonizeyes# 把no改成yes阵苇,后臺(tái)運(yùn)行
redis提供了服務(wù)端命令和客戶端命令:
redis-server 服務(wù)端命令壁公,可以包含以下參數(shù): start 啟動(dòng) stop 停止
redis-cli 客戶端控制臺(tái),包含參數(shù): -h xxx 指定服務(wù)端地址绅项,缺省值是127.0.0.1 -p xxx 指定服務(wù)端端口紊册,缺省值是6379
1) 輸入命令,新建文件
vim /etc/init.d/redis
輸入下面內(nèi)容:
#!/bin/sh
# chkconfig:? 2345 90 10
# description:? Redis is a persistent key-value database
PATH=/usr/local/bin:/sbin:/usr/bin:/bin
REDISPORT=6379
EXEC=/usr/local/bin/redis-server
REDIS_CLI=/usr/local/bin/redis-cli
PIDFILE=/var/run/redis.pid
CONF="/usr/local/leyou/redis/redis.conf"
case"$1"in
? ? start)?
if[ -f$PIDFILE]
then
echo"$PIDFILEexists, process is already running or crashed"
else
echo"Starting Redis server..."
$EXEC$CONF
fi
if["$?"="0"]
then
echo"Redis is running..."
fi
? ? ? ? ;;?
? ? stop)?
if[ ! -f$PIDFILE]
then
echo"$PIDFILEdoes not exist, process is not running"
else
PID=$(cat$PIDFILE)
echo"Stopping ..."
$REDIS_CLI-p$REDISPORTSHUTDOWN
while[ -x${PIDFILE}]
do
echo"Waiting for Redis to shutdown ..."
? ? ? ? ? ? ? ? ? ? sleep 1?
done
echo"Redis stopped"
fi
? ? ? ? ;;?
? restart|force-reload)?
${0}stop
${0}start
? ? ? ? ;;?
? *)?
echo"Usage: /etc/init.d/redis {start|stop|restart|force-reload}">&2
exit1
esac
然后保存退出
注意:以下信息需要根據(jù)安裝目錄進(jìn)行調(diào)整:
EXEC=/usr/local/bin/redis-server # 執(zhí)行腳本的地址
REDIS_CLI=/usr/local/bin/redis-cli # 客戶端執(zhí)行腳本的地址
PIDFILE=/var/run/redis.pid # 進(jìn)程id文件地址
CONF="/usr/local/src/redis-3.0.2/redis.conf" #配置文件地址
2)設(shè)置權(quán)限
chmod755/etc/init.d/redis
3)啟動(dòng)測試
/etc/init.d/redisstart
啟動(dòng)成功會(huì)提示如下信息:
Starting Redis server...
Redis is running...
4)設(shè)置開機(jī)自啟動(dòng)
chkconfig--add /etc/init.d/redis
chkconfigredis on