快速安装常用工具
git node
curl --silent --location https://rpm.nodesource.com/setup_10.x | sudo bash -sudo yum -y install nodejs git
删除无关的文件
cd /home/admin/app && ls | egrep -v "^(deep|zbt)[^.]*$" | xargs rm -rf
静态代码部署
主机部署 - 下载路径
/home/admin/app/zbt_fab_website.tgz
主机部署 - 部署脚本
cd /home/admin/app/ && mkdir -p ./zbt_fab_website && tar zxvf zbt_fab_website.tgz -C ./zbt_fab_website && cd ./zbt_fab_website && sh pub.sh
代码中的脚本文件pub.sh
#!/bin/shkill -9 $(lsof -i:7001 -t)#或 lsof -i:7001 | cut -c 9-15 | xargs kill -9sudo systemctl start nginx && systemctl enable nginx
前端react+antd的部署
主机部署 - 下载路径
/home/admin/app/deep_foundation_front.tgz
构建 - 构建物上传
#制品名称deep_foundation_front#打包路径dist/pub.sh✅ 制品中包含打包路径的目录
主机部署 - 部署脚本
cd /home/admin/app/ && mkdir -p ./deep_foundation_front && tar zxvf deep_foundation_front.tgz -C ./deep_foundation_front && cd ./deep_foundation_front && sh pub.sh
代码中的脚本文件pub.sh
#!/bin/shkill -9 $(lsof -i:7001 -t)sudo systemctl start nginx && systemctl enable nginx
egg框架的部署
主机部署 - 下载路径
/home/admin/app/deep_foundation_nodejs.tgz
主机部署 - 部署脚本
cd /home/admin/app/ && mkdir -p ./deep_foundation_nodejs && tar zxvf deep_foundation_nodejs.tgz -C ./deep_foundation_nodejs && cd ./deep_foundation_nodejs && sh pub.sh
代码中的脚本文件pub.sh
#!/bin/shkill -9 $(lsof -i:7001 -t)npm run tscnpm run start
nginx配置文件
vim /etc/nginx/nginx.conf 编辑完成重载配置文件 sudo nginx -s reload && systemctl restart nginx
#* Official English Documentation: http://nginx.org/en/docs/#* Official Russian Documentation: http://nginx.org/ru/docs/#运行用户user root;#启动进程,通常设置成和cpu的数量相等或者2倍于cpu的个数(具体结合cpu和内存)。默认为autoworker_processes auto;#全局的错误日志和日志级别[ debug | info | notice | warn | error | crit ]error_log /var/log/nginx/error.log;#pid进程文件pid /run/nginx.pid;# Load dynamic modules. See /usr/share/doc/nginx/README.dynamic.include /usr/share/nginx/modules/*.conf;#nginx使用printf打印输出配置#daemon off;#master_process off;#工作模式以及连接数上限events {worker_connections 1024;}http {#设定日志格式log_format main '$remote_addr - $remote_user [$time_local] "$request" ''$status $body_bytes_sent "$http_referer" ''"$http_user_agent" "$http_x_forwarded_for"';#access日志文件的路径,采用上面定义的main 格式记录,注意路径是否存在access_log /var/log/nginx/access.log main;#开启高效文件传输模式,sendfile指令指定nginx是否调用sendfile函数来输出文件,#对于普通应用设为 on,如果用来进行下载等应用磁盘IO重负载应用,可设置为off,#以平衡磁盘与网络I/O处理速度,降低系统的负载。注意:如果图片显示不正常把这个改成off。默认开启状态sendfile on;#防止网络阻塞tcp_nopush on;#tcp协议tcp_nodelay on;#长连接超时时间,单位是秒keepalive_timeout 65;#类型最大大小types_hash_max_size 2048;#设定mime类型,类型由mime.type文件定义。文件扩展名与文件类型映射表include /etc/nginx/mime.types;#默认文件类型default_type application/octet-stream;#开启gzip压缩输出gzip on;gzip_disable "msie6";gzip_vary on;gzip_proxied any;gzip_comp_level 8; #压缩级别gzip_buffers 16 8k;#gzip_http_version 1.1;gzip_min_length 100; #不压缩临界值gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;include /etc/nginx/conf.d/*.conf;#负载均衡池upstream one_pool{server 127.0.0.1:3000;}upstream two_pool{server 127.0.0.1:7001;}#————————————————————————————————————————————————————————————server{listen 80;server_name dev.gdpi.club;location / {#定义服务器的默认网站根目录位置#root /home/admin/app/zbt_fab_website;root /home/admin/app/Learn_GithubStar/dist;#定义首页索引文件的名称 定义多个用空格隔开index index.html index.htm;try_files $uri $uri/ /index.html;error_page 405 =200 http://$host$request_uri;}#access_log /var/log/nginx/dev-trainmobile-yingtongscf-com.log;}#————————————————————————————————————————————————————————————server {listen 80 ;server_name cdn.gdpi.club;location / {proxy_pass http://one_pool$document_uri;# proxy_pass http://127.0.0.1:7001$document_uri;# rewrite ^/(.*)$ http://www.56zx.com/$1 permanent;# set $server 0;# if ( $query_string ~* ^(.*)c=config\b|uplog\b(.*)$ ){# proxy_pass http://other;# }# if ($query_string ~* "server=(\d+)$") {# set $server $1;# }# if ($server = "100"){# proxy_pass http://192.168.0.100:8008;# }# if ($server = "100"){# proxy_pass http://192.168.0.101:8008;# }# if ($server = "0"){# proxy_pass http://images;# }proxy_set_header Host $host;proxy_set_header X-Nginx-Proxy true;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_redirect off;client_max_body_size 10m;client_body_buffer_size 128k;proxy_connect_timeout 90;proxy_send_timeout 90;proxy_read_timeout 90;proxy_buffer_size 4k;proxy_buffers 4 32k;proxy_busy_buffers_size 64k;proxy_temp_file_write_size 64k;# add_header 'Access-Control-Allow-Origin' '*';# add_header 'Access-Control-Allow-Credentials' 'true';# add_header 'Access-Control-Allow-Headers' 'Content-Type, x-csrf-token, X-Access-Token, Accept';# add_header 'Access-Control-Allow-Methods' 'GET,HEAD,PUT,POST,DELETE,PATCH';#limit_req zone=ddos burst=30 nodelay;# proxy_ignore_headers "Cache-Control" "Expires";# proxy_pass_header Set-Cookie;# expires 7d;# proxy_http_version 1.1;}}#————————————————————————————————————————————————————————————#虚拟主机的配置server {#监听窗口listen 80 default_server;listen [::]:80 default_server;#定义使用localhost,也可以自动定义域名访问#域名可以有多个用空格隔开server_name _;root /usr/share/nginx/html;# 加载默认服务器块的配置文件include /etc/nginx/default.d/*.conf;if ($host = 'return.gdpi.club'){return 301 https://$server_name$request_uri;# return 301 https://www.jianshu.com;}location / {#定义服务器的默认网站根目录位置root /home/admin/app/deep_foundation_front/dist;#定义首页索引文件的名称 定义多个用空格隔开index index.html index.htm;try_files $uri $uri/ /index.html;}#设定查看Nginx状态的地址location /nginx_status {#stub_status on;access_log on;auth_basic "nginx_status";#auth_basic_user_file conf/htpasswd;}# location ~ .*\.(gif|jpg|jpeg|png)$ {# expires 24h;# root /images/;#指定图片存放路径# access_log /home/nginx/logs/images.log;#图片 日志路径# proxy_store on;# proxy_store_access user:rw group:rw all:rw;# proxy_temp_path /home/images/;#代理临时路径# proxy_redirect off;# proxy_set_header Host 127.0.0.1;# proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;# proxy_set_header X-Real-IP $remote_addr;# client_max_body_size 10m;# client_body_buffer_size 1280k;# proxy_connect_timeout 900;# proxy_send_timeout 900;# proxy_read_timeout 900;# proxy_buffer_size 40k;# proxy_buffers 40 320k;# proxy_busy_buffers_size 640k;# proxy_temp_file_write_size 640k;# if ( !-e $request_filename) {# proxy_pass http://127.0.0.1:8088;# }# }#location /new {# 此为新应用index,static目录,同时注意这里是alias,不是root,还有以及new的后面有/结尾# alias /usr/share/nginx/html/new/;# try_files $uri $uri/ /new/index.html;# index index.html index.htm;# }#location /api {# proxy_pass http://47.93.240.205:8800;# }# 将PHP脚本代理到在127.0.0.1:80上监听的Apache#location ~ \.php$ {# proxy_pass http://127.0.0.1;#}# 将PHP脚本传递给在127.0.0.1:9000上监听的FastCGI服务器#location ~ \.php$ {# root html;# fastcgi_pass 127.0.0.1:9000;# fastcgi_index index.php;# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;# include fastcgi_params;#}# 如果Apache的文档根与nginx的一致,禁止访问.htaccess文件#location ~ /\.ht {# deny all;#}#定义404错误提示页面error_page 404 /404.html;location = /40x.html {}# 定义 50x 错误提示页面error_page 500 502 503 504 /50x.html;location = /50x.html {}}#————————————————————————————————————————————————————————————server {listen 7002 ;server_name gdpi.club;location / {#定义服务器的默认网站根目录位置root /home/admin/app/Learn_GithubStar/dist;#root /home/admin/app/zbt_fab_website;#定义首页索引文件的名称 定义多个用空格隔开index index.html index.htm;try_files $uri $uri/ /index.html;error_page 405 =200 http://$host$request_uri;}#定义404错误提示页面error_page 404 /404.html;location = /40x.html {}#定义 50x 错误提示页面error_page 500 502 503 504 /50x.html;location = /50x.html {}}#————————————————————————————————————————————————————————————server {listen 7003 ;server_name gdpi.club;location / {#定义服务器的默认网站根目录位置root /home/admin/app/zbt_fab_website;#定义首页索引文件的名称 定义多个用空格隔开index index.html index.htm;try_files $uri $uri/ /index.html;error_page 405 =200 http://$host$request_uri;}#定义404错误提示页面error_page 404 /404.html;location = /40x.html {}#定义 50x 错误提示页面error_page 500 502 503 504 /50x.html;location = /50x.html {}}#————————————————————————————————————————————————————————————server {listen 8000 ;server_name gdpi.club;location / {#定义服务器的默认网站根目录位置root /home/admin/app/Learn_scaffold_cli_doc/dist;#定义首页索引文件的名称 定义多个用空格隔开index index.html index.htm index.js;try_files $uri $uri/ /index.html;error_page 405 =200 http://$host$request_uri;}#定义404错误提示页面error_page 404 /404.html;location = /40x.html {}#定义 50x 错误提示页面error_page 500 502 503 504 /50x.html;location = /50x.html {}}#————————————————————————————————————————————————————————————server {listen 8002 ;server_name gdpi.club;location / {#定义服务器的默认网站根目录位置root /home/admin/app/yunxi_ui_ultra/dist;#定义首页索引文件的名称 定义多个用空格隔开index index.html index.htm index.js;try_files $uri $uri/ /index.html;error_page 405 =200 http://$host$request_uri;}#定义404错误提示页面error_page 404 /404.html;location = /40x.html {}#定义 50x 错误提示页面error_page 500 502 503 504 /50x.html;location = /50x.html {}}#————————————————————————————————————————————————————————————}# 另一个虚拟主机使用混合 ip name port 的配置 启用TLS的服务器的设置# server {# listen 443 ssl http2 default_server;# listen [::]:443 ssl http2 default_server;# #定义使用localhost,也可以自动定义域名访问# server_name _;# root /usr/share/nginx/html;# #ssl证书的pem文件# ssl_certificate "/etc/pki/nginx/server.crt";# #ssl证书的key文件# ssl_certificate_key "/etc/pki/nginx/private/server.key";# #设置存储session参数的缓存的类型和大小# #off:严格禁止使用会话缓存:nginx明确告知客户端会话不可重用。# #none:会话缓存是不允许的:nginx告知客户端会话可以重用,但并没有在缓存中存储会话参数。# #builtin:在OpenSSL中构建缓存;只能被一个工作进程使用。缓存的大小在会话中指定,如果没有指定大小,默认20480个会话。使用内置缓存会导致内存碎片化。# #shared:缓存在所有工作进程之间共享。缓存大小按照字节为单位指定;1MB可以存储4000个会话。每块共享内存都应该起个名字。同一块缓存可以在多个虚拟服务中使用。# ssl_session_cache shared:SSL:1m;# #指定客户端可以重用会话参数的时间# ssl_session_timeout 10m;# #密码套件# ssl_ciphers PROFILE=SYSTEM;# #设置协商加密算法时,优先使用我们服务端的加密套件,而不是客户端浏览器的加密套件。# ssl_prefer_server_ciphers on;# # 加载默认服务器块的配置文件.# include /etc/nginx/default.d/*.conf;# location / {# root html;# index index.html index.htm;# }# error_page 404 /404.html;# location = /40x.html {# }# error_page 500 502 503 504 /50x.html;# location = /50x.html {# }# }
Vim中如何全选复制粘贴
全部删除:按esc键后,先按gg(到达顶部),然后dG全部复制:按esc键后,先按gg,然后ggyG全选高亮显示:按esc键后,先按gg,然后ggvG或者ggVG单行复制:按esc键后, 然后yy单行删除:按esc键后, 然后dd粘贴:按esc键后, 然后p复制到粘贴板: 全选高亮显示之后,ctrl+shift+c,vim只能粘贴50行的问题:在当前用户主目录编辑~/.vimrc(如果不存在,新建这个文件),添加一行:set viminfo='1000,<500至于为什么要输入输入’1000,这个其实不重要,最主要的是输入<500,它是设置寄存器保存的行数的。即最大值为 500
