sudo chmod 777 *.sh 對.sh文件開啓管理員權限(*文件名)
sudo *** 以管理員身份運行命令
sudo chown -R finance:bbd /home/finance 爲finance用戶賦予操作/home/finance目錄的權限
ps -ef | grep xxx ps -ef(查看進程 ) | 是管道連接符 grep 篩選條件
kill *** 結束進程
java -jar ***.jar 運行jar
kill -HUP pid 如果想要更改配置而不需停止並重新啓動服務,請使用該命令
route add -p 160.161.12.0 mask 255.255.255.0 188.178.168.1 命令行窗口修改路由規則
tailf XXX.log 打印日誌,並且持續跟蹤日誌
su username 切換用戶username
netstat -ano 查詢端口列表詳情
#################文件操作、文件夾操作(命令後面加上 -r )######
./ 當前目錄
ls 當前文件目錄列表
ll 當前文件目錄列表詳細信息
pwd 當前工作目錄路徑
clear 清屏
mkdir test 創建文件夾名稱爲test
cd test 進入test文件夾
touch test.java 創建一個test.java的文件
vim test.java 編輯文件test.java (:wq保存並退出編輯,:q退出不保存,:q!強制退出)
cat test.java 查看文件test.java
./***.sh 運行腳本文件
rm test.sh 刪除文件
sudo find / -name "文件名" 快速查找文件
scp /home/1.test [email protected]:/home/ 發送主機文件到遠程節點目錄(複製本機/home/1.test文件,以遠程節點root用戶保存在遠程節點/home目錄下)
scp -r [email protected]:/home/test /home 拉取遠程節點目錄到本機目錄(以root用戶複製遠程節點目錄192.168.1.107:/home/test,保存到本機目錄/home)
cp file /usr/men/tmp/file1 將文件file複製到目錄/usr/men/tmp下,並改名爲file1(所有目標文件指定的目錄必須是己經存在的,cp命令不能創建目錄)
cp -r /usr/men /usr/zh 將目錄/usr/men下的所有文件及其子目錄複製到目錄/usr/zh中
mv aaa bbb 將文件 aaa 更名爲 bbb
mv info/ logs 將info目錄放入logs目錄中。注意,如果logs目錄不存在,則該命令將info改名爲logs。
mv /usr/student/* ./ 再如將/usr/student下的所有文件和目錄移到當前目錄下
#################rpm命令#######################
rpm命令是RPM軟件包的管理工具
rpm -ivh your-package # 直接安裝
rpmrpm --force -ivh your-package.rpm # 忽略報錯,強制安裝
rpm -ql tree 查詢tree包文件安裝的位置
rpm -e tree 卸載tree包
rpm -qa 列出所有安裝過的包
rpm -q tree 獲取tree軟件包的文件全名
###################tar命令#####################
tar -zxvf Python-2.7.3.tgz 解壓tar包
tar -zcvf app.tar.gz --exclude=*.log --exclude=test ./app 將當前目錄下app目錄打一個tar包,並用gzip壓縮,包名爲app.tar.gz,並忽略所有.log文件、名爲test的文件名及目錄名
##############下載升級安裝python並啓動###########
wget http://python.org/ftp/python/2.7.8/Python-2.7.8.tgz 下載安裝包
tar -zxvf Python-2.7.3.tgz 解壓tar包
cd Python-2.7.3 進入解壓後的文件夾
mkdir /usr/local/python27 在/usr/local建一個文件夾python27(作爲Python的安裝路徑,以免覆蓋老的版本)
./configure 編譯
make && make install 安裝
mv /usr/bin/python /usr/bin/python_old 再將原來/usr/bin/python鏈接改爲別的名字
ln -s /usr/local/python27/bin/python2.7 /usr/bin/python 再建立新版本python的鏈接
python -V 檢查修改後的python版本
ip:0.0.0.0
映射當前網絡下所有ip(如一個tomcat配置文件中,如果監聽的IP地址設置了 0.0.0.0 就表示你的這個tomcat服務器監聽在本機的所有IP地址上,通過任何一個IP地址都可以訪問到;如果本地的IP地址有 192.168.1.10, 172.16.2.10,那麼訪問你這個tomcat就可以 http://192.168.1.10:8080/http://172.16.2.10:8080/ 都可以訪問)
在本地運行程序python manager.py runserver訪問地址:http://127.0.0.1:5000;此時,默認只能本地訪問網站,如果需要其他人也可以訪問,需要指定0.0.0.0這個ip,就要再加入參數:--host 0.0.0.0。其他人訪問的時候就要輸入電腦的ip地址加上端口5000就OK了。
python manager.py runserver --host 0.0.0.0 --port 7000 運行python,--host指定ip,--port指定端口(默認端口是5000)
##############oracle操作##################
su - oracle 轉爲Oracle用戶
sqlplus / as sysdba 進入sqlplus操作
imp 數據庫用戶名/密碼@orcl file=dmp的路徑(事例:/var/test.dmp) full=y(全部導入、整個庫) 導出數據庫(imp換成exp導入)
創建表空間
create tablespace test datafile '/data/dbms/test.dbf' size 100M autoextend on next 100M;
創建用戶
create user test identified by test123 default tablespace test;
賦予權限
grant connect,resource,dba to test;
刪除用戶
drop user test cascade;
刪除表空間
drop tablespace test including contents and datafiles cascade constraint;
################Nginx####################
reload,重新加載的意思,reload會重新加載配置文件,nginx服務不會中斷,而且reload時會測試conf語法等,如果出錯會rollback用上一次正確配置文件保持正常運行。
restart,重啓,會重啓nginx服務。這個重啓會造成服務一瞬間的中斷,當然如果配置文件出錯會導致服務啓動失敗,那就是更長時間的服務中斷了。
sudo nginx -s reload 使用重載命令使nginx生效
/etc/init.d/nginx restart 使用命令重啓nginx生效
sudo nginx -t 輸出正在使用的配置文件
Nginx項目配置:
server{
listen 8000;
server_name cp.test.com;
client_header_buffer_size 128k;
client_body_buffer_size 1m;
proxy_buffer_size 32k;
proxy_buffers 64 32k;
proxy_busy_buffers_size 1m;
proxy_temp_file_write_size 512k;
location / {
##前端部署路徑
root /home/finance/web/test;
index index.html;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_read_timeout 600s;
#### kill cache
add_header Last-Modified $date_gmt;
add_header Cache-Control 'no-store, no-cache, must-revalidate, proxy-revalidate, max-age=0';
if_modified_since off;
expires off;
etag off;
}
location /api/ {
rewrite ^/api/(.*)$ /$1 break; #所有對後端的請求加一個api前綴方便區分,真正訪問的時候移除這個前綴
# API Server
proxy_pass http://166.166.6.61:8600; #將真正的請求代理到serverA,即真實的服務器地址,ajax的url爲/api/user/1的請求將會訪問http://www.serverA.com/user/1
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_read_timeout 600s;
}
}
項目啓動腳本(與jar包同一目錄):start.sh
#!/bin/sh
u=`whoami` ;
red='\033[0;31m';
green='\033[0;32m' ;
yellow='\033[0;33m' ;
plain='\033[0m';
echo -e "${green}INFO${plain}: 當前用戶:${green}$u${plain}"
SERVICE_NAME="credit-platform"
cd `dirname $0`
BIN_DIR=`pwd`
LOG_DIR=$BIN_DIR/logs/
STDOUT_FILE=$BIN_DIR/std.log
JAR=`find ./*.jar`
#cd ..
DEPLOY_DIR=`pwd`
# DATABASE_OPTS="-Dspring.datasource.url=jdbc:mysql://172.32.3.77:3306/bbd_plutus_management?useUnicode=true&characterEncoding=utf-8&useSSL=false "
# DATABASE_OPTS=" -Dspring.datasource.url=jdbc:oracle:thin:@172.32.98.15:1521:orcledb -Dspring.datasource.driverClassName=oracle.jdbc.driver.OracleDriver -Dspring.datasource.username=plutus -Dspring.datasource.password=dev@bbd "
## -Dspring.config.location=~/application-production.yml
JAVA_OPTS=" -Dserver.port=8200 -Dspring.profiles.active=dev -Dlogging.path=$LOG_DIR -Djava.awt.headless=true -Djava.net.preferIPv4Stack=true -Dfile.encoding=UTF8 -Dsun.jnu.encoding=UTF8 -Dspring.config.location=./application.yaml,./application-dev.yaml "$JAVA_OPTS
#JAVA_DEBUG_OPTS=""
#if [ "$1" = "debug" ]; then
JAVA_DEBUG_OPTS=" -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,address=18002,server=y,suspend=n "
#fi
#JAVA_JMX_OPTS=""
#if [ "$1" = "jmx" ]; then
# JAVA_JMX_OPTS=" -Dcom.sun.management.jmxremote.port=1099 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false "
#fi
JAVA_MEM_OPTS=" -server -Xmx1024m -Xms512m -Xmn256m -Xss256k -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=management-error.dump -XX:+DisableExplicitGC -XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled -XX:LargePageSizeInBytes=128m -XX:+UseFastAccessorMethods -XX:+UseCMSInitiatingOccupancyOnly -XX:CMSInitiatingOccupancyFraction=70 "
echo -e "${green}INFO${plain}: Starting the $SERVICE_NAME ...\n"
nohup java $JAVA_OPTS $JAVA_MEM_OPTS $JAVA_DEBUG_OPTS -jar $JAR >$STDOUT_FILE 2>&1 &
echo $! > $BIN_DIR/tpid
sleep 1s
echo -e "${green}INFO${plain}: $SERVICE_NAME start success!\n"
PIDS=`ps -f | grep java | grep "$DEPLOY_DIR" | awk '{print $2}'`
echo -e "${green}INFO${plain}: PID $PIDS"
tail -f std.log
項目關閉腳本(與jar包同一目錄):stop.sh
#!/bin/bash
u=`whoami` ;
red='\033[0;31m';
green='\033[0;32m' ;
yellow='\033[0;33m' ;
plain='\033[0m';
JAR=`find ./*.jar`
cd `dirname $0`
ids=`ps -ef|grep java|grep $JAR |awk '{print $2}'`
if [[ ! "$ids" ]];then
echo -e "${yellow}WARN${plain}:plutus-management-system 進程不存在"
else
echo -e "${green}INFO${plain}: 準備結束資信平臺微信端服務 數量:`echo ${ids}|awk '{count++}END{print count}'` "
echo -e "${ids}"|xargs kill -9
fi
如果上傳文件時超過了nginx限制,就會返回一個“413 Request Entity Too Large”的錯誤
我們只要更改nginx的配置文件“nginx.conf”即可
在http{}中添加一個client_max_body_size 20m;配置項;
修改完之後重啓nginx或reload配置