一.Linux(rehat、centos、ubuntu...)基礎知識html
上午:java
putty軟件鏈接linux服務器;node
[root @ foundation2 ~ ] #mysql
用戶名 主機名 當前用戶目錄下 #:表示root的提示符號,普通用戶爲$linux
命令通常格式:c++
1)ls--longlist 列出目錄當前目錄內容web
ls -a 顯示全部文件和目錄(隱藏) ls -l 使用詳細格式列表 ls -alredis
2) cd--change dirctory 切換工做目錄sql
cd .表示目前所在的目錄 cd ..返回上一層目錄 cd -是返回到上一次的工做目錄mongodb
3)pwd--print working dirctory 顯示當前用戶所在目錄路徑
4)mkdir--make dirctory 創建目錄
mkdir -p a/b 新建目錄a,再在目錄a下新建目錄b
新建文件 touch 文件名/vi 文件名(ESC、:、wq)
下午:
5)rm -rf 文件名 刪除 r--recursive 遞歸 f--force 強制
rmdir b 刪除空目錄
cat 文件名 顯示文件內容
find -name 文件名 查找文件
cal 顯示日曆日期
6)cp 複製
7)mv 移動/重命名
8)正數:原碼、反碼、補碼一致;
負數:反碼:取反(符號位不變),補碼取反末尾加一(符號位不變);
9)ls -l:文件類型(7種):-普通文件,d目錄文件,l符號連接文件,b二進制文件,c字符設備文件,s套接字符文件,p命名管道文件
rwx(111)(read讀4、write寫2、execute執行1) 文件的擁有者權限 7 順序不能顛倒
r-x 文件的用戶組權限 5
r-x 其餘用戶對該文件的操做權限 5
chmod 777 jennychen
上午:
1)tar--壓縮(備份)文件
-c 打包 -x 解包 -t 查看內容 -r 追加文件 -u 更新 -f 指定包名(必加)
2) 壓縮/解壓 gzip/gunzip
壓縮:tar -czf ab.tar.gz *.log
解壓:tar -xf ab.tar.gz
3)rpm
-i 安裝 -v 顯示安裝詳細信息 -h 安裝進度 -q 查找 -U 更新 -nodeps 卸載
rpm -ivh
下午:
安裝VMware虛擬機,安裝linux系統
網絡設置成橋接模式:Ip地址設置成與本地網絡同一網段地址,子網掩碼和網關同本地同樣
動態配置IP:setup
service network restart 從新啓動網絡
ifdown eth0 /ifconfig eth0 down 關閉eth0網卡 ifup eth0 /ifconfig eth0 up 啓動eth0網卡
winscp一直鏈接不上linux服務器
參考:http://blog.wx6.org/
報錯 Disconnected: Server protocol violation: unexpected SSH2_MSG_UNIMPLEMENTED packet
最後發現解決問題以下
For me the key was that the "Diffie-Hellman group exchange" key exchange algorithm was not implemented on the server (see Connection > SSH > KEX).
Moving this key exchange algorithm to the bottom of the list and making the algorithm "Diffie-Hellman group 14" first solved the problem for me.
linux安裝完後:一系列問題:
java.net.UnknownHostException 未知的名稱或服務
關於RedHat Linux沒法使用yum命令安裝gcc-c++問題
安裝redis報錯 cc: command not found
mysql設置不區分大小寫
linux查看防火牆狀態及開啓關閉命令(轉)
linux 查看並對外開放端口(防火牆攔截處理)
二.linux應用;
secureCRT客戶端:
一.發補丁到tomcat:
用secureCrt工具鏈接到1.6地址,輸入命令行
1.關閉tomcat
cd /home/pms_server/tomcat_8080/bin
./shutdown.sh
2.解壓補丁包
cd ../webapps
unzip publish.zip
A
rm -rf publish.zip (刪除zip包)
3.查已經啓動的java進程
ps -ef|grep java
4.清除tomcat緩存和日誌
cd tomcat_8080/logs/
rm -rf *
cd ..
5.清空work下的catalina
cd work/
rm -rf *
6.重啓tomcat
cd bin/
./startup.sh
二.安裝部署:GraphicsMagick-1.3.18.tar.gz
一、 解壓GraphicsMagick-1.3.12.tar.gz包
# tar -xvzf GraphicsMagick-1.3.12.tar.gz
# cd GraphicsMagick-1.3.12
...........
2.接下來就是安裝
# make
# make install
3.測試是否安裝成功, 使用命令查看GraphicsMagick所支持的圖片格式:
# gm convert -list formats
.......顯示支持的全部圖片
4.查看gm 的安裝路徑:
# which gm
/usr/local/bin/gm (顯示的安裝路徑)
五、 設置環境變量
# vi /etc/profile
在/etc/profile文件的最後添加以下配置:
IM4JAVA_TOOLPATH="/usr/local/bin/gm" (Im4Java包要求,具體參考http://im4java.sourceforge.net/docs/dev-guide.html)
6.設置受權
給zxin10用戶賦graphicsMagick安裝目錄的訪問權限
上述安裝步驟都是在root用戶下進行的,因此在安裝完成以後須要給 zxin10用戶賦訪問權限,不然在zxin10用戶下截取圖片,將會報錯org.im4java.core.CommandException: java.io.IOException: Cannot run program "gm": java.io.IOException: error=13, Permission denied。
使用root用戶登陸,而後執行以下命令:
# chown -R zxin10:users /usr/local/bin/gm
三.在linux環境下部署,重啓service,Tomcat應用;
64啓動tomcat
Last login: Thu Jun 7 13:00:03 2018 from 10.204.1.137
[root@WEIXINAPP ~]# cd /
[root@WEIXINAPP /]# cd ..
[root@WEIXINAPP /]# ls
bin cgroup dev home lib64 media mnt opt root selinux sys usr
boot data etc lib lost+found misc net proc sbin srv tmp var
[root@WEIXINAPP /]# cd data
[root@WEIXINAPP data]# ls
apache-tomcat-7.0.30 captainPic fileDoc Msg-service Wechat-Service_bak
apache-tomcat-7.0.30.tar.gz config lost+found picManage
[root@WEIXINAPP data]# cd apache-tomcat-7.0.30
[root@WEIXINAPP apache-tomcat-7.0.30]# ls
bin conf lib LICENSE logs NOTICE RELEASE-NOTES RUNNING.txt temp webapps work
[root@WEIXINAPP apache-tomcat-7.0.30]# cd bin
[root@WEIXINAPP bin]# ls
bootstrap.jar commons-daemon-native.tar.gz digest.bat shutdown.sh tool-wrapper.bat
catalina.bat configtest.bat digest.sh startup.bat tool-wrapper.sh
catalina.sh configtest.sh setclasspath.bat startup.sh version.bat
catalina-tasks.xml cpappend.bat setclasspath.sh tomcat-juli.jar version.sh
commons-daemon.jar daemon.sh shutdown.bat tomcat-native.tar.gz
[root@WEIXINAPP bin]# ./shutdown.sh
Using CATALINA_BASE: /data/apache-tomcat-7.0.30
Using CATALINA_HOME: /data/apache-tomcat-7.0.30
Using CATALINA_TMPDIR: /data/apache-tomcat-7.0.30/temp
Using JRE_HOME: /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.45.x86_64
Using CLASSPATH: /data/apache-tomcat-7.0.30/bin/bootstrap.jar:/data/apache-tomcat-7.0.30/bin/tomcat-juli.jar
[root@WEIXINAPP bin]# ./startup.sh
Using CATALINA_BASE: /data/apache-tomcat-7.0.30
Using CATALINA_HOME: /data/apache-tomcat-7.0.30
Using CATALINA_TMPDIR: /data/apache-tomcat-7.0.30/temp
Using JRE_HOME: /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.45.x86_64
Using CLASSPATH: /data/apache-tomcat-7.0.30/bin/bootstrap.jar:/data/apache-tomcat-7.0.30/bin/tomcat-juli.jar
關閉Tomcat進程:
查看啓動幾個tomcat 應用。
[root@WEIXINAPP ~]# ps aux |grep tomcat
root 20562 0.4 7.1 4750476 1161092 ? Sl Aug15 4:34 /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.45.x86_64/bin/java -Djava.util.logging.config.file=/data/apache-tomcat-7.0.30/conf/logging.properties -Xms512m -Xmx2048m -Xss256K -XX:PermSize=128m -XX:MaxPermSize=256m -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.endorsed.dirs=/data/apache-tomcat-7.0.30/endorsed -classpath /data/apache-tomcat-7.0.30/bin/bootstrap.jar:/data/apache-tomcat-7.0.30/bin/tomcat-juli.jar -Dcatalina.base=/data/apache-tomcat-7.0.30 -Dcatalina.home=/data/apache-tomcat-7.0.30 -Djava.io.tmpdir=/data/apache-tomcat-7.0.30/temp org.apache.catalina.startup.Bootstrap start
root 23180 0.0 0.0 103252 828 pts/0 S+ 10:19 0:00 grep tomcat
殺掉對應的進程20562:
[root@FILEAPP ~]# kill -9 20562
在控制檯上顯示tomcat日誌:cd 到log文件夾
[root@FILEAPP ~]# tail -f ../logs/catalina.out
退出tail命令:ctrl+C
而後再啓動Tomcat。
65啓動service
Last login: Wed May 30 18:18:21 2018 from 10.204.1.137
[root@WEIFWAPP ~]# cd /data/Inf-Service/execute
[root@WEIFWAPP execute]# ./start_Inf.sh restart
[root@WEIFWAPP execute]# cd /data/Quartz-Service/execute
[root@WEIFWAPP execute]# ./start_Quartz.sh restart
關閉service進程:
查看啓動幾個service應用。
[root@WEIXINAPP ~]# ps aux |grep Service
root 19694 0.7 2.2 3061400 370872 ? Sl 15:20 0:29 java -Xms128m -Xmx512m -jar ../Msg_Service.jar
root 20103 0.0 0.0 103252 832 pts/2 S+ 16:27 0:00 grep Service
殺掉對應的進程19694:
[root@FILEAPP ~]# kill -9 19694
而後再啓動service進程。
殺掉1個進程:
[root@FILEAPP ~]# kill -9 8471
殺掉2個進程:
[root@FILEAPP ~]# kill -9 8471 7801
java.lang.NoClassDefFoundError: Could not initialize class sun.awt.X11.XToolkit異常解決
設置tomcat 內存大小:在/data/apache-tomcat-7.0.30/bin 下的catalina.sh文件裏設置,如圖:
設置service 啓動後內存的大小:可直接在啓動命令中設置,也能夠在/data/Msg-service/execute 下的start_Msg.sh文件裏設置,如圖:
查看linux版本:
[root@WEIXINAPP ~]# uname -a
Linux WEIXINAPP 2.6.32-431.el6.x86_64 #1 SMP Sun Nov 10 22:19:54 EST 2013 x86_64 x86_64 x86_64 GNU/Linux
[root@WEIXINAPP ~]# cat /proc/version
Linux version 2.6.32-431.el6.x86_64 (mockbuild@x86-023.build.eng.bos.redhat.com) (gcc version 4.4.7 20120313 (Red Hat 4.4.7-4) (GCC) ) #1 SMP Sun Nov 10 22:19:54 EST 2013
查看磁盤空間:# df -h
安裝jdk(不用系統中自帶的jdk)
1.將jdk解壓到目錄:/data/jdk1.7.0_80
2.打開 /etc/profile 文件
在文件尾部添加設置:
export JAVA_HOME=/data/jdk1.7.0_80
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib:$CATALINA_HOME/lib
export PATH=$PATH:$JAVA_HOME/bin:$CATALINA_HOME/bin(第一種方法)
export PATH=$JAVA_HOME/bin:$CATALINA_HOME/bin:$PATH(第二種方法)
(此行要注意,若是PATH 路徑的設置時,$PATH在前,見第一種方法,則須要面對jdk版本問題,具體解決方法見Linux安裝jdk7開發環境 中的 5.存在jdk版本問題,
若是PATH 路徑的設置時,$PATH在後,見第二種方法,則到此便可,64是按此方法)
export CATALINA_HOME=/data/apache-tomcat-7.0.30
export CONFIG_PATH=/data/config/
同一臺機上有多個tomcat 同時啓動,有以下設置:
export JAVA_HOME=/data/jdk1.7.0_80
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib:$CATALINA_HOME/lib:$CATALINA_2_HOME/lib
export PATH=$JAVA_HOME/bin:$CATALINA_HOME/bin:$CATALINA_2_HOME/bin:$PATH
export CONFIG_PATH=/data/config/
#CAS
CATALINA_BASE=/data/CAS-8088-apache-tomcat-7.0.30
CATALINA_HOME=/data/CAS-8088-apache-tomcat-7.0.30
export CATALINA_BASE CATALINA_HOME
#Portal
CATALINA_2_BASE=/data/subContract-8082-apache-tomcat-7.0.30
CATALINA_2_HOME=/data/subContract-8082-apache-tomcat-7.0.30
export CATALINA_2_BASE CATALINA_2_HOME
從新加載文件:
# source /etc/profile
查看java 執行的路徑
# which java
讓/etc/profile文件修改後當即生效
在 /data/subContract-8082-apache-tomcat-7.0.30/bin/catalina.sh 中增長如下內容
啓動 /data/Portal-8081-apache-tomcat-7.0.30/bin/ 下startup.sh後,能夠看到進入對應的tomcat裏
startup.sh的執行,沒有權限的處理:
[root@testdb ~]# cd /data/scence-server/5-CAS-8088-apache-tomcat/bin
[root@testdb bin]# ./startup.sh
-bash: ./startup.sh: Permission denied
[root@testdb bin]# chmod u+x startup.sh
[root@testdb bin]# ./startup.sh
Tomcat升級到8.0之後出現bug:
後臺報錯java.lang.IllegalArgumentException: Invalid character found in the request target.
tomcat8和tomcat8以前的亂碼問題解決方法
tomcat啓動報錯APR問題
linux下tomcat8.0安裝配置
redis的安裝:
1.下載文件後解壓
tar xvf redis-2.8.7.tar.gz
2.到解壓後的文件裏進行編譯和安裝
cd /home/redis/redis-2.8.7
make install
3.執行後會自動安裝redis,將安裝在/usr/local/bin目錄下,此時還需將安裝文件中的redis.conf文件拷貝到/usr/local/bin目錄下
cp /home/redis/redis-2.8.7/redis.conf /usr/local/bin
4.到/usr/local/bin/下啓動redis
cd /usr/local/bin/
./redis-server redis.conf
5.安裝成功以下圖:
3.有關linux下redis overcommit_memory的問題
4.Java連接Redis時出現 「ERR Client sent AUTH, but no password is set」 異常的緣由及解決辦法
查看java版本是否安裝成功
顯示版本
# java -version
顯示執行參數
# javac
其餘內容見連接:Linux安裝jdk7開發環境 中的 5.存在jdk版本問題
啓動MongoDB: 參考文檔:Linux下簡單安裝MongoDB
# cd /data/mongodb
# ./mongod --dbpath=/data/mongodb/data/ --logpath=/data/mongodb/data/mongodb.log --logappend --port=27017 --fork
測試環境
#./mongod --dbpath=/data/scence-server/mongodb/mongoDB/data/ --logpath=/data/scence-server/mongodb/mongoDB/data/mongodb.log --logappend --port=27017 --fork
MySQL數據庫自動備份:
1.設置備份腳本:DBBackup.sh
#!/bin/bash
##Database info
DB_NAME="數據庫名"
DB_USER="帳號"
DB_PASS="密碼"
## mysql bin
BIN_DIR="/data/mysql/bin"
## backup dir
BCK_DIR="/data/DBbackup"
## DATE=`date +%Y%m%d_%H%M%S`
TIME="$(date +"%Y%m%d_%H%M%S")"
# #sudo mysqldump --opt -u$DB_USER -p$DB_PASS -h $HOST $DB_NAME | gzip \
# #> $BCK_DIR/$DB_NAME.dump_$TIME.sql.gz
$BIN_DIR/mysqldump -u $DB_USER -p$DB_PASS $DB_NAME | gzip > $BCK_DIR/$DB_NAME.$TIME.sql.gz
## delete 30 days file
find $BCK_DIR -mtime +1 -name "*.sql.gz" -exec rm -rf {} \;
2.執行./DBBackup.sh
3.腳本執行成功後,查看對應文件夾下是否生產文件,若是生成,則表示成功;
4.使用Linux 下crontab定時器來執行該腳本,參考文檔:Linux下使用crontab定時備份日誌
[root@DB ~]# crontab -e #編輯定時任務
25 23 * * * /data/DBBackup.sh
輸入i 進入編輯模式,編輯完後,點擊一下鍵盤上的"ESC",而後輸入":wq!"這樣就將文本保存了.而後退出了vi編輯器.
若是不想保存就按一下鍵盤上的"ESC",輸入":q!". 【vi文件編輯命令】
[root@DB ~]# crontab -l #查看定時器任務
25 23 * * * /data/DBBackup.sh
5.重啓crond
[root@DB ~]# service crond reload
Reloading crond: [ OK ]
參考:Linux下的crontab定時執行任務命令詳解
MySQL定時備份數據庫(全庫備份)
linux性能監控:
1.Linux top命令詳解
2.平常運維(一):w命令 vmstat命令 top命令 sar命令 nload命令
3.生產上數據庫大量的latch free 致使的CPU資源耗盡的問題的解決