工作中常用Maven命令
知名开源的Maven仓库管理工具有Nexus、Archiva及Artifactory,它们的官方网站分别是:
Nexus:http://www.sonatype.org/nexus/
Archiva:http://archiva.apache.org/index.cgi (对机器内存要求较少)
Artifactory:http://www.jfrog.com/home/v_artifactory_opensource_download
mvn clean install -Dmaven.test.skip=true
# 一般是运行项目时,通过异常分析
mvn dependency:tree -Dverbose
1990年上线的,解释性编译语言,便于扩展,可使用C或C++扩展新功能和数据类型。
代码仓库地址:https://gitee.com/xushj/Python.git tool 目录下
Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。
要开始使用 NGINX Plus 或 NGINX Open Source 将 HTTP 流量负载均衡到一组服务器,首先需要使用
upstream
指令定义组。该指令放置在http
上下文中。
=> NGINX 开源支持四种负载均衡方法,NGINX Plus 增加了两种方法:
请求在服务器之间均匀分布,并考虑服务器权重。默认情况下使用此方法(没有启用它的指令)
upstream backend {
# no load balancing method is specified for Round Robin
server backend1.example.com;
server backend2.example.com;
}
工作中常用 Shell 命令
1.使用[]和[[]]的时候不要吝啬空格,每一项两边都要有空格,[[ 1 == 2 ]]的结果为“假”,但[[ 1==2 ]]的结果为“真”!
– 场景:java 启动参数配置时
#!/bin/bash
echo "export LANG=en_US.UTF-8" >> /etc/profile
source /etc/profile
mkdir -p /logs/$LOG_PREFIX/`hostname` /data/logs
ln -s /logs/$LOG_PREFIX/`hostname` $LOG_HOME
if [ "$ACTIVE" ]; then
export JAVA_OPTS="$JAVA_OPTS -Dspring.profiles.active=$ACTIVE"
else
export JAVA_OPTS="$JAVA_OPTS -Dspring.profiles.active=test"
fi
# shell if [ "$ACTIVE"=="dev" ]; //不管dev 还是其它值都默认为真
if [ "$ACTIVE" == "dev" ]; then
export JAVA_OPTS="$JAVA_OPTS -Xms128m -Xmx1024m -XX:+HeapDumpOnOutOfMemoryError"
fi
if [ "$ACTIVE" == "test" ]; then
export JAVA_OPTS="$JAVA_OPTS -Xms128m -Xmx1280m"
fi
if [ "$ACTIVE" == "prod" ]; then
export JAVA_OPTS="$JAVA_OPTS -Xms256m -Xmx3072m"
fi
# -XX:+UseG1GC -XX:+UnlockExperimentalVMOptions -XX:+UseCGroupMemoryLimitForHeap -XX:MaxRAMFraction=1
JAVA_OPTS="$JAVA_OPTS -Djava.awt.headless=true -Djava.net.preferIPv4Stack=true -verbose:gc -Xloggc:$LOG_HOME/gc.log"
echo -e "Starting the Server ...\c"
mkdir -p $LOG_HOME
echo "" >>$LOG_HOME/gc.log
if [ "$APOLLO" ]; then
java $JAVA_OPTS -Dapollo.meta=$APOLLO -jar /data/$JOB --server.port=$PORT --apollo.bootstrap.enabled=true
else
java $JAVA_OPTS -jar /data/$JOB --server.port=$PORT
fi
# 文件名称: /opt/data_warehouse/schedule/kill_job.sh
#!/bin/bash
source ~/.bash_profile
echo "input parameter is: $1 "
ps -ef | grep $1 | grep -v grep | awk '{print $2}' | xargs kill -9
# 执行脚本 /opt/data_warehouse/schedule/kill_job.sh jobName.kjb
# 杀掉进程,并启动应用 smartfire 应用名称
ps -ef | grep smartfire | grep -v grep | awk '{print $2}' | xargs kill -9 && nohup java -jar -Dspring.profiles.active=dev smartfire-admin.jar >msg.log 2>&1 &
Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。
去到Nginx官网:http://nginx.org/ ,然后点击“download”
windows 解压,并运行。
如果出现弹出框闪一下就消失,则通过命令行,跳转到nginx.exe 目录,执行nginx.exe 即可
注意:
windows下多次点击nginx.exe 可能会执行多个,修改nginx.conf会不生效 【20230506】
# 1. 安装依赖包
yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel
# 2. 下载并解压安装包
# 创建一个文件夹
cd /usr/local
mkdir nginx
cd nginx
# 下载稳定版本 tar包
wget http://nginx.org/download/nginx-1.22.1.tar.gz
tar -xvf nginx-1.22.1.tar.gz
# 3. 安装nignx
# 进入nginx目录
cd /usr/local/nginx
# 进入目录
cd nginx-1.22.1
# 执行命令 考虑到后续安装ssl证书 添加两个模块
./configure --with-http_stub_status_module --with-http_ssl_module
# 执行make命令
make
# 执行make install命令
make install
# 4. 设置nginx环境变量
vim /etc/profile
PATH=$PATH:/user/local/nginx/sbin
export PATH
# 保存文件,并使配置生效
source /etc/profile;
# 5. 启动服务
nginx -c /usr/local/nginx/conf/nginx.conf
# 6. 配置conf文件(可修改端口、改路由等等)
vim /usr/local/nginx/conf/nginx.conf
# 7. 重启并查看nginx 是否启动成功
nginx -s relaod
ps -ef | grep nginx
# 8. 外部主机访问端口,则需要开放指定端口(默认开放80端口)
firewall-cmd --zone=public --add-port=80/tcp --permanent
# 查询㐰是否开启
firewall-cmd --query-port=80/tcp
# 保存防火墙配置(之后可通过外网IP访问)
firewall-cmd --reload
# 其他: 关闭防火墙(危险)
systemctl top firewalld
# 查看端口列表
firewall-cmd --list-port
# 移除端口号
firewall-cmd --zone=public --remove-port=80/tcp --permanent
官网:https://code.visualstudio.com/
项目管理
格式校验
格式化代码
格式化CSS、VUE等代码插件
一般主题设置:文件 -> 首选项 -> 颜色主题
{
// 编辑器建议 显示在头部
"editor.snippetSuggestions": "top",
"editor.suggestSelection": "first",
"editor.fontSize": 16,
// "terminal.integrated.fontFamily": "monospace",
"debug.console.fontSize": 14,
"terminal.integrated.fontSize": 14,
"search.enableSearchEditorPreview": true,
"workbench.colorTheme": "Solarized Dark",
"update.mode": "none",
"explorer.confirmDelete": false, // 表示窗口缩小.
"editor.wordWrap": "on", // 超长代码一般出现在html中, 我不喜欢html属性换行, 但是又想看到全部, 那就只能设置编辑器视觉上的换行了.
"editor.wordWrapColumn": 140,
"workbench.editor.enablePreview": false,
//界面配置路径 Text Editor -> Files
// "files.autoSave": "afterDelay", //设置延迟一定的时间后自动保存文件
// "files.autoSaveDelay": 1000, // 设置自动保存文件前需要延迟的时间,单位毫秒 默认1000
"files.enableTrash": true, // 设置删除文件、目录时是否允许删除到操作系统回收站,默认为true,即允许
"files.encoding": "utf8", // 设置读写文件时所用编码 默认UTF-8,可针对每种语言进行设置
"files.autoGuessEncoding": false, // 设置打开文件时,是否自动猜测字符编码,默认false,即不自动猜测,可针对每种语言进行设置
// 界面配置路径 Text Editor -> Formatting
"editor.formatOnSaveMode": "file", // 设置保存文件时格式化整个文件还是仅被修改处。该配置项仅在 "editor.formatOnPaste" 为 true时生效
"editor.formatOnPaste": false, // 设置黏贴内容时是否自动格式化,true表示自动格式化,需要配置格式化器(formatter)才可使用
"editor.formatOnSave": true, // 设置保存文件时是否自动格式化,true表示自动格式化,需要配置格式化器(formatter)才可使用
"editor.formatOnType": false, // 设置输入完成后是否自动格式化当前行
// Eslint插件配置
"editor.codeActionsOnSave": {
"source.fixAll.eslint": true // 设置保存时是否自动修复代码
},
// 界面配置路径 Extensiosn -> ESlint
"eslint.alwaysShowStatus": true, // 设置状态栏是否一直显示ESlint图标项,true表示一直显示
"eslint.format.enable": true, // 设置是否把ESlint作为一个格式化器,true表示启用
// Prettier插件配置
// 界面配置路径 Extensiosn -> Prettier
"prettier.enable": true, // 设置是否开启prettier插件,默认为true,即开启
"prettier.semi": true, // 设置是否在每行末尾添加分号,默认为 true
"prettier.singleQuote": true, // 设置格式化时,保持单引号,如果设置为true,则单引号会自动变成双引号
"prettier.tabWidth": 2, // 设置每个tab占用多少个空格
"prettier.useTabs": false, // 设置是否使用tab键缩进行,默认为false,即不使用
"prettier.bracketSpacing": true, // 在对象,括号与文字之间加空格 true - Example: { foo: bar } false - Example: {foo: bar}, 默认为true
"prettier.jsxBracketSameLine": true, // 设置在jsx中,是否把'>' 单独放一行,默认为false,即单独放一行
// 设置各种代码的默认格式化器//以下为默认配置
"prettier.eslintIntegration": true,
"[html]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[css]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[less]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[javascript]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
/* "[typescript]": {
"editor.defaultFormatter": "vscode.typescript-language-features"
}, */
"[jsonc]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[vue]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
// Vetur插件配置
"vetur.format.enable": false, // 设置是否禁用插件格式化功能 // 默认为true,即开启
"vetur.format.defaultFormatter.css": "prettier", // 设置css代码(<style>包含的代码块)默认格式化器
"vetur.format.defaultFormatter.sass": "sass-formatter",
"vetur.format.defaultFormatter.postcss": "prettier",
"vetur.format.defaultFormatter.scss": "prettier",
"vetur.format.defaultFormatter.less": "prettier",
"vetur.format.defaultFormatter.stylus": "stylus-supremacy",
"vetur.format.defaultFormatter.html": "prettier", // 设置html代码(<template>包含的代码块)默认格式化器
"vetur.format.defaultFormatter.js": "prettier-eslint", // 设置js代码<script>包含的代码块)默认格式化器
"vetur.format.defaultFormatter.ts": "prettier", // 设置vetur默认使用 prettier格式化代码
"vetur.format.options.tabSize": 2, // 设置tab键占用的空格数,该配置将被所有格式化器继承
"vetur.format.options.useTabs": false, // 设置是否使用tab键缩进 默认false,即不使用,该配置将被所有格式化器继承
//"vetur.ignoreProjectWarning": true // 控制是否忽略关于vscode项目配置错误的告警,默认为false,即不忽略
"vetur.validation.template": false, // VUE3专用
"emmet.syntaxProfiles": {
"vue-html": "html",
"vue": "html"
},
"editor.fontLigatures": true,
"editor.quickSuggestions": {
//开启自动显示建议
"other": true,
"comments": true,
"strings": true
},
// vscode默认启用了根据文件类型自动设置tabsize的选项
"editor.detectIndentation": false,
// 重新设定tabsize
"editor.tabSize": 2,
"search.exclude": {
"**/node_modules": true,
"**/bower_components": true,
"**/dist": true
},
// vscode 程序title位置显示内容,这里设置了显示路径
"window.title": "${dirty}${activeEditorMedium}${separator}${rootName}",
"fileheader.customMade": {
"Author": "FengXiao",
"Date": "Do not edit",
"LastEditors": "FengXiao",
"LastEditTime": "Do not edit"
},
"fileheader.configObj": {
"autoAdd": false
},
"html.format.wrapLineLength": 150,
"javascript.preferences.quoteStyle": "single",
"json.format.enable": false,
"editor.suggest.snippetsPreventQuickSuggestions": false,
"eslint.validate": ["vue", "javascript", "javascriptreact"],
"typescript.tsc.autoDetect": "off",
"editor.formatOnSaveTimeout": 300,
"wxmlConfig.onSaveFormat": true,
"html.format.enable": false,
"javascript.format.enable": false,
"typescript.implementationsCodeLens.enabled": false,
"typescript.format.enable": false,
"editor.unicodeHighlight.allowedLocales": {
"zh-hans": true
},
"window.zoomLevel": -1,
"editor.bracketPairColorization.enabled": true,
"editor.guides.bracketPairs": "active",
"files.exclude": {
"**/.classpath": true,
"**/.project": true,
"**/.settings": true,
"**/.factorypath": true
}
// "javascript.suggestionActions.enabled": false
}