快速安装常用工具

git node

  1. curl --silent --location https://rpm.nodesource.com/setup_10.x | sudo bash -
  2. sudo yum -y install nodejs git

删除无关的文件

  1. cd /home/admin/app && ls | egrep -v "^(deep|zbt)[^.]*$" | xargs rm -rf

静态代码部署

主机部署 - 下载路径

  1. /home/admin/app/zbt_fab_website.tgz

主机部署 - 部署脚本

  1. 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

  1. #!/bin/sh
  2. kill -9 $(lsof -i:7001 -t)
  3. #或 lsof -i:7001 | cut -c 9-15 | xargs kill -9
  4. sudo systemctl start nginx && systemctl enable nginx

前端react+antd的部署

主机部署 - 下载路径

  1. /home/admin/app/deep_foundation_front.tgz


构建 - 构建物上传

  1. #制品名称
  2. deep_foundation_front
  3. #打包路径
  4. dist/
  5. pub.sh
  6. 制品中包含打包路径的目录

主机部署 - 部署脚本

  1. 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

  1. #!/bin/sh
  2. kill -9 $(lsof -i:7001 -t)
  3. sudo systemctl start nginx && systemctl enable nginx

egg框架的部署

主机部署 - 下载路径

  1. /home/admin/app/deep_foundation_nodejs.tgz

主机部署 - 部署脚本

  1. 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

  1. #!/bin/sh
  2. kill -9 $(lsof -i:7001 -t)
  3. npm run tsc
  4. npm run start

nginx配置文件

vim /etc/nginx/nginx.conf 编辑完成重载配置文件 sudo nginx -s reload && systemctl restart nginx

  1. #* Official English Documentation: http://nginx.org/en/docs/
  2. #* Official Russian Documentation: http://nginx.org/ru/docs/
  3. #运行用户
  4. user root;
  5. #启动进程,通常设置成和cpu的数量相等或者2倍于cpu的个数(具体结合cpu和内存)。默认为auto
  6. worker_processes auto;
  7. #全局的错误日志和日志级别[ debug | info | notice | warn | error | crit ]
  8. error_log /var/log/nginx/error.log;
  9. #pid进程文件
  10. pid /run/nginx.pid;
  11. # Load dynamic modules. See /usr/share/doc/nginx/README.dynamic.
  12. include /usr/share/nginx/modules/*.conf;
  13. #nginx使用printf打印输出配置
  14. #daemon off;
  15. #master_process off;
  16. #工作模式以及连接数上限
  17. events {
  18. worker_connections 1024;
  19. }
  20. http {
  21. #设定日志格式
  22. log_format main '$remote_addr - $remote_user [$time_local] "$request" '
  23. '$status $body_bytes_sent "$http_referer" '
  24. '"$http_user_agent" "$http_x_forwarded_for"';
  25. #access日志文件的路径,采用上面定义的main 格式记录,注意路径是否存在
  26. access_log /var/log/nginx/access.log main;
  27. #开启高效文件传输模式,sendfile指令指定nginx是否调用sendfile函数来输出文件,
  28. #对于普通应用设为 on,如果用来进行下载等应用磁盘IO重负载应用,可设置为off,
  29. #以平衡磁盘与网络I/O处理速度,降低系统的负载。注意:如果图片显示不正常把这个改成off。默认开启状态
  30. sendfile on;
  31. #防止网络阻塞
  32. tcp_nopush on;
  33. #tcp协议
  34. tcp_nodelay on;
  35. #长连接超时时间,单位是秒
  36. keepalive_timeout 65;
  37. #类型最大大小
  38. types_hash_max_size 2048;
  39. #设定mime类型,类型由mime.type文件定义。文件扩展名与文件类型映射表
  40. include /etc/nginx/mime.types;
  41. #默认文件类型
  42. default_type application/octet-stream;
  43. #开启gzip压缩输出
  44. gzip on;
  45. gzip_disable "msie6";
  46. gzip_vary on;
  47. gzip_proxied any;
  48. gzip_comp_level 8; #压缩级别
  49. gzip_buffers 16 8k;
  50. #gzip_http_version 1.1;
  51. gzip_min_length 100; #不压缩临界值
  52. 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;
  53. include /etc/nginx/conf.d/*.conf;
  54. #负载均衡池
  55. upstream one_pool{
  56. server 127.0.0.1:3000;
  57. }
  58. upstream two_pool{
  59. server 127.0.0.1:7001;
  60. }
  61. #————————————————————————————————————————————————————————————
  62. server{
  63. listen 80;
  64. server_name dev.gdpi.club;
  65. location / {
  66. #定义服务器的默认网站根目录位置
  67. #root /home/admin/app/zbt_fab_website;
  68. root /home/admin/app/Learn_GithubStar/dist;
  69. #定义首页索引文件的名称 定义多个用空格隔开
  70. index index.html index.htm;
  71. try_files $uri $uri/ /index.html;
  72. error_page 405 =200 http://$host$request_uri;
  73. }
  74. #access_log /var/log/nginx/dev-trainmobile-yingtongscf-com.log;
  75. }
  76. #————————————————————————————————————————————————————————————
  77. server {
  78. listen 80 ;
  79. server_name cdn.gdpi.club;
  80. location / {
  81. proxy_pass http://one_pool$document_uri;
  82. # proxy_pass http://127.0.0.1:7001$document_uri;
  83. # rewrite ^/(.*)$ http://www.56zx.com/$1 permanent;
  84. # set $server 0;
  85. # if ( $query_string ~* ^(.*)c=config\b|uplog\b(.*)$ ){
  86. # proxy_pass http://other;
  87. # }
  88. # if ($query_string ~* "server=(\d+)$") {
  89. # set $server $1;
  90. # }
  91. # if ($server = "100"){
  92. # proxy_pass http://192.168.0.100:8008;
  93. # }
  94. # if ($server = "100"){
  95. # proxy_pass http://192.168.0.101:8008;
  96. # }
  97. # if ($server = "0"){
  98. # proxy_pass http://images;
  99. # }
  100. proxy_set_header Host $host;
  101. proxy_set_header X-Nginx-Proxy true;
  102. proxy_set_header X-Real-IP $remote_addr;
  103. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  104. proxy_redirect off;
  105. client_max_body_size 10m;
  106. client_body_buffer_size 128k;
  107. proxy_connect_timeout 90;
  108. proxy_send_timeout 90;
  109. proxy_read_timeout 90;
  110. proxy_buffer_size 4k;
  111. proxy_buffers 4 32k;
  112. proxy_busy_buffers_size 64k;
  113. proxy_temp_file_write_size 64k;
  114. # add_header 'Access-Control-Allow-Origin' '*';
  115. # add_header 'Access-Control-Allow-Credentials' 'true';
  116. # add_header 'Access-Control-Allow-Headers' 'Content-Type, x-csrf-token, X-Access-Token, Accept';
  117. # add_header 'Access-Control-Allow-Methods' 'GET,HEAD,PUT,POST,DELETE,PATCH';
  118. #limit_req zone=ddos burst=30 nodelay;
  119. # proxy_ignore_headers "Cache-Control" "Expires";
  120. # proxy_pass_header Set-Cookie;
  121. # expires 7d;
  122. # proxy_http_version 1.1;
  123. }
  124. }
  125. #————————————————————————————————————————————————————————————
  126. #虚拟主机的配置
  127. server {
  128. #监听窗口
  129. listen 80 default_server;
  130. listen [::]:80 default_server;
  131. #定义使用localhost,也可以自动定义域名访问
  132. #域名可以有多个用空格隔开
  133. server_name _;
  134. root /usr/share/nginx/html;
  135. # 加载默认服务器块的配置文件
  136. include /etc/nginx/default.d/*.conf;
  137. if ($host = 'return.gdpi.club'){
  138. return 301 https://$server_name$request_uri;
  139. # return 301 https://www.jianshu.com;
  140. }
  141. location / {
  142. #定义服务器的默认网站根目录位置
  143. root /home/admin/app/deep_foundation_front/dist;
  144. #定义首页索引文件的名称 定义多个用空格隔开
  145. index index.html index.htm;
  146. try_files $uri $uri/ /index.html;
  147. }
  148. #设定查看Nginx状态的地址
  149. location /nginx_status {
  150. #stub_status on;
  151. access_log on;
  152. auth_basic "nginx_status";
  153. #auth_basic_user_file conf/htpasswd;
  154. }
  155. # location ~ .*\.(gif|jpg|jpeg|png)$ {
  156. # expires 24h;
  157. # root /images/;#指定图片存放路径
  158. # access_log /home/nginx/logs/images.log;#图片 日志路径
  159. # proxy_store on;
  160. # proxy_store_access user:rw group:rw all:rw;
  161. # proxy_temp_path /home/images/;#代理临时路径
  162. # proxy_redirect off;
  163. # proxy_set_header Host 127.0.0.1;
  164. # proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  165. # proxy_set_header X-Real-IP $remote_addr;
  166. # client_max_body_size 10m;
  167. # client_body_buffer_size 1280k;
  168. # proxy_connect_timeout 900;
  169. # proxy_send_timeout 900;
  170. # proxy_read_timeout 900;
  171. # proxy_buffer_size 40k;
  172. # proxy_buffers 40 320k;
  173. # proxy_busy_buffers_size 640k;
  174. # proxy_temp_file_write_size 640k;
  175. # if ( !-e $request_filename) {
  176. # proxy_pass http://127.0.0.1:8088;
  177. # }
  178. # }
  179. #location /new {
  180. # 此为新应用index,static目录,同时注意这里是alias,不是root,还有以及new的后面有/结尾
  181. # alias /usr/share/nginx/html/new/;
  182. # try_files $uri $uri/ /new/index.html;
  183. # index index.html index.htm;
  184. # }
  185. #location /api {
  186. # proxy_pass http://47.93.240.205:8800;
  187. # }
  188. # 将PHP脚本代理到在127.0.0.1:80上监听的Apache
  189. #location ~ \.php$ {
  190. # proxy_pass http://127.0.0.1;
  191. #}
  192. # 将PHP脚本传递给在127.0.0.1:9000上监听的FastCGI服务器
  193. #location ~ \.php$ {
  194. # root html;
  195. # fastcgi_pass 127.0.0.1:9000;
  196. # fastcgi_index index.php;
  197. # fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
  198. # include fastcgi_params;
  199. #}
  200. # 如果Apache的文档根与nginx的一致,禁止访问.htaccess文件
  201. #location ~ /\.ht {
  202. # deny all;
  203. #}
  204. #定义404错误提示页面
  205. error_page 404 /404.html;
  206. location = /40x.html {
  207. }
  208. # 定义 50x 错误提示页面
  209. error_page 500 502 503 504 /50x.html;
  210. location = /50x.html {
  211. }
  212. }
  213. #————————————————————————————————————————————————————————————
  214. server {
  215. listen 7002 ;
  216. server_name gdpi.club;
  217. location / {
  218. #定义服务器的默认网站根目录位置
  219. root /home/admin/app/Learn_GithubStar/dist;
  220. #root /home/admin/app/zbt_fab_website;
  221. #定义首页索引文件的名称 定义多个用空格隔开
  222. index index.html index.htm;
  223. try_files $uri $uri/ /index.html;
  224. error_page 405 =200 http://$host$request_uri;
  225. }
  226. #定义404错误提示页面
  227. error_page 404 /404.html;
  228. location = /40x.html {
  229. }
  230. #定义 50x 错误提示页面
  231. error_page 500 502 503 504 /50x.html;
  232. location = /50x.html {
  233. }
  234. }
  235. #————————————————————————————————————————————————————————————
  236. server {
  237. listen 7003 ;
  238. server_name gdpi.club;
  239. location / {
  240. #定义服务器的默认网站根目录位置
  241. root /home/admin/app/zbt_fab_website;
  242. #定义首页索引文件的名称 定义多个用空格隔开
  243. index index.html index.htm;
  244. try_files $uri $uri/ /index.html;
  245. error_page 405 =200 http://$host$request_uri;
  246. }
  247. #定义404错误提示页面
  248. error_page 404 /404.html;
  249. location = /40x.html {
  250. }
  251. #定义 50x 错误提示页面
  252. error_page 500 502 503 504 /50x.html;
  253. location = /50x.html {
  254. }
  255. }
  256. #————————————————————————————————————————————————————————————
  257. server {
  258. listen 8000 ;
  259. server_name gdpi.club;
  260. location / {
  261. #定义服务器的默认网站根目录位置
  262. root /home/admin/app/Learn_scaffold_cli_doc/dist;
  263. #定义首页索引文件的名称 定义多个用空格隔开
  264. index index.html index.htm index.js;
  265. try_files $uri $uri/ /index.html;
  266. error_page 405 =200 http://$host$request_uri;
  267. }
  268. #定义404错误提示页面
  269. error_page 404 /404.html;
  270. location = /40x.html {
  271. }
  272. #定义 50x 错误提示页面
  273. error_page 500 502 503 504 /50x.html;
  274. location = /50x.html {
  275. }
  276. }
  277. #————————————————————————————————————————————————————————————
  278. server {
  279. listen 8002 ;
  280. server_name gdpi.club;
  281. location / {
  282. #定义服务器的默认网站根目录位置
  283. root /home/admin/app/yunxi_ui_ultra/dist;
  284. #定义首页索引文件的名称 定义多个用空格隔开
  285. index index.html index.htm index.js;
  286. try_files $uri $uri/ /index.html;
  287. error_page 405 =200 http://$host$request_uri;
  288. }
  289. #定义404错误提示页面
  290. error_page 404 /404.html;
  291. location = /40x.html {
  292. }
  293. #定义 50x 错误提示页面
  294. error_page 500 502 503 504 /50x.html;
  295. location = /50x.html {
  296. }
  297. }
  298. #————————————————————————————————————————————————————————————
  299. }
  300. # 另一个虚拟主机使用混合 ip name port 的配置 启用TLS的服务器的设置
  301. # server {
  302. # listen 443 ssl http2 default_server;
  303. # listen [::]:443 ssl http2 default_server;
  304. # #定义使用localhost,也可以自动定义域名访问
  305. # server_name _;
  306. # root /usr/share/nginx/html;
  307. # #ssl证书的pem文件
  308. # ssl_certificate "/etc/pki/nginx/server.crt";
  309. # #ssl证书的key文件
  310. # ssl_certificate_key "/etc/pki/nginx/private/server.key";
  311. # #设置存储session参数的缓存的类型和大小
  312. # #off:严格禁止使用会话缓存:nginx明确告知客户端会话不可重用。
  313. # #none:会话缓存是不允许的:nginx告知客户端会话可以重用,但并没有在缓存中存储会话参数。
  314. # #builtin:在OpenSSL中构建缓存;只能被一个工作进程使用。缓存的大小在会话中指定,如果没有指定大小,默认20480个会话。使用内置缓存会导致内存碎片化。
  315. # #shared:缓存在所有工作进程之间共享。缓存大小按照字节为单位指定;1MB可以存储4000个会话。每块共享内存都应该起个名字。同一块缓存可以在多个虚拟服务中使用。
  316. # ssl_session_cache shared:SSL:1m;
  317. # #指定客户端可以重用会话参数的时间
  318. # ssl_session_timeout 10m;
  319. # #密码套件
  320. # ssl_ciphers PROFILE=SYSTEM;
  321. # #设置协商加密算法时,优先使用我们服务端的加密套件,而不是客户端浏览器的加密套件。
  322. # ssl_prefer_server_ciphers on;
  323. # # 加载默认服务器块的配置文件.
  324. # include /etc/nginx/default.d/*.conf;
  325. # location / {
  326. # root html;
  327. # index index.html index.htm;
  328. # }
  329. # error_page 404 /404.html;
  330. # location = /40x.html {
  331. # }
  332. # error_page 500 502 503 504 /50x.html;
  333. # location = /50x.html {
  334. # }
  335. # }

Vim中如何全选复制粘贴

  1. 全部删除:按esc键后,先按gg(到达顶部),然后dG
  2. 全部复制:按esc键后,先按gg,然后ggyG
  3. 全选高亮显示:按esc键后,先按gg,然后ggvG或者ggVG
  4. 单行复制:按esc键后, 然后yy
  5. 单行删除:按esc键后, 然后dd
  6. 粘贴:按esc键后, 然后p
  7. 复制到粘贴板: 全选高亮显示之后,ctrl+shift+c
  8. vim只能粘贴50行的问题:
  9. 在当前用户主目录编辑~/.vimrc(如果不存在,新建这个文件),添加一行
  10. :set viminfo='1000,<500
  11. 至于为什么要输入输入’1000,这个其实不重要,最主要的是输入<500,它是设置寄存器保存的行数的。即最大值为 500