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 root@192.168.1.116:/home/ 发送主机文件到远程节点目录(复制本机/home/1.test文件,以远程节点root用户保存在远程节点/home目录下)
scp -r root@192.168.1.107:/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配置