├── .editorconfig ├── .gitignore ├── LICENSE ├── README.md ├── SUMMARY.md ├── TOC.md ├── centos-settings ├── CentOS-Extra-Packages.md ├── CentOS-Network-Settings.md ├── Clear-Cache.md ├── Clear-Tmp-Directory.md ├── Close-XWindow.md └── centos-settings-toc.md ├── config.json ├── cover ├── background.jpg ├── cover.jpg └── logo.png ├── favorite-file ├── Keepalived-Settings │ └── nginx_check.sh ├── MySQL-Settings │ └── MySQL-5.6 │ │ ├── 1G-Memory-Machine │ │ ├── my-for-comprehensive.cnf │ │ ├── my-for-master.cnf │ │ └── my-for-salve.cnf │ │ ├── 8G-Memory-Machine │ │ └── my.cnf │ │ └── developer │ │ └── my-Windows-8G-开发机.ini ├── Nginx-Settings │ ├── nginx │ └── nginx-front.conf ├── Tomcat-Settings │ └── server.xml ├── gravitee-docker-compose │ ├── README.md │ ├── environments │ │ ├── ci │ │ │ └── docker-compose.yml │ │ ├── demo │ │ │ ├── common.yml │ │ │ ├── docker-compose-local.yml │ │ │ ├── docker-compose-traefik-latest.yml │ │ │ ├── docker-compose-traefik-nightly.yml │ │ │ └── launch.sh │ │ └── sample-apis │ │ │ └── docker-compose-sample-apis.yml │ └── platform │ │ ├── docker-compose.yml │ │ ├── mongo │ │ └── docker-entrypoint-initdb.d │ │ │ └── create-index.js │ │ ├── nginx │ │ ├── nginx.conf │ │ └── ssl │ │ │ ├── gio-selfsigned.crt │ │ │ ├── gio-selfsigned.key │ │ │ └── gio.pem │ │ └── prometheus.yml ├── redis │ └── redis ├── shell │ ├── crontab-redis-restart.sh │ ├── crontab-test.sh │ ├── install_common_tool_CentOS.sh │ ├── install_common_tool_ubuntu.sh │ ├── install_common_vim.sh │ ├── install_common_vim_zsh.sh │ ├── install_docker_centos7.sh │ ├── install_docker_disable_firewalld_centos7-aliyun.sh │ ├── install_docker_disable_firewalld_centos7.sh │ ├── install_docker_k8s_disable_firewalld_centos7-aliyun.sh │ ├── install_jdk_offline_to_bash.sh │ ├── install_jdk_offline_to_zsh.sh │ ├── install_jdk_online.sh │ ├── install_maven_offline_to_bash.sh │ ├── install_maven_offline_to_zsh.sh │ ├── install_mycat_offline.sh │ ├── install_mysql5.6_offline_centos6.sh │ ├── install_mysql5.6_offline_centos7.sh │ ├── install_mysql5.7_offline_centos7.sh │ ├── install_nginx_centos6.sh │ ├── install_nginx_centos7.sh │ ├── install_redis_centos6.sh │ ├── install_redis_centos7.sh │ ├── install_tomcat_centos6.sh │ ├── install_tomcat_centos7.sh │ ├── install_tomcat_offline_centos7.sh │ ├── mysql_backup.sh │ ├── repo_install_centos6.sh │ ├── shell-for.sh │ └── shell-with-param-demo.sh └── zsh │ └── .zshrc ├── images ├── Alfresco-Install-And-Settings-a-1.jpg ├── Alfresco-Install-And-Settings-a-2.jpg ├── Alfresco-Install-And-Settings-a-3.jpg ├── Alfresco-Install-And-Settings-a-4.jpg ├── CentOS-7-Install-a-0.jpg ├── CentOS-7-Install-a-1.jpg ├── CentOS-7-Install-a-10.jpg ├── CentOS-7-Install-a-11.jpg ├── CentOS-7-Install-a-12.jpg ├── CentOS-7-Install-a-13.jpg ├── CentOS-7-Install-a-14.jpg ├── CentOS-7-Install-a-15.jpg ├── CentOS-7-Install-a-16.jpg ├── CentOS-7-Install-a-2.jpg ├── CentOS-7-Install-a-3.jpg ├── CentOS-7-Install-a-4.jpg ├── CentOS-7-Install-a-5.jpg ├── CentOS-7-Install-a-6.jpg ├── CentOS-7-Install-a-7.jpg ├── CentOS-7-Install-a-8.jpg ├── CentOS-7-Install-a-9.jpg ├── CentOS-Extra-Packages-a-1.jpg ├── CentOS-Extra-Packages-a-2.jpg ├── CentOS-Install-VirtualBox-a-1.jpg ├── CentOS-Install-VirtualBox-a-12.jpg ├── CentOS-Install-VirtualBox-a-13.jpg ├── CentOS-Install-VirtualBox-a-14.jpg ├── CentOS-Install-VirtualBox-a-15.jpg ├── CentOS-Install-VirtualBox-a-16.jpg ├── CentOS-Install-VirtualBox-a-17.jpg ├── CentOS-Install-VirtualBox-a-18.jpg ├── CentOS-Install-VirtualBox-a-19.jpg ├── CentOS-Install-VirtualBox-a-2.jpg ├── CentOS-Install-VirtualBox-a-20.jpg ├── CentOS-Install-VirtualBox-a-21.jpg ├── CentOS-Install-VirtualBox-a-22.jpg ├── CentOS-Install-VirtualBox-a-23.jpg ├── CentOS-Install-VirtualBox-a-24.jpg ├── CentOS-Install-VirtualBox-a-25.jpg ├── CentOS-Install-VirtualBox-a-3.jpg ├── CentOS-Install-VirtualBox-a-4.jpg ├── CentOS-Install-VirtualBox-a-5.jpg ├── CentOS-Install-VirtualBox-a-6.jpg ├── CentOS-Install-VirtualBox-a-7.jpg ├── CentOS-Install-VirtualBox-a-8.jpg ├── CentOS-Install-VirtualBox-a-9.jpg ├── CentOS-Install-VirtualBox-b-1.gif ├── CentOS-Network-Settings-a-1.jpg ├── CentOS-Network-Settings-a-2.jpg ├── CentOS-Virtual-Machine-Copy-Settings-a-1.png ├── CentOS-install-VMware-a-1.jpg ├── CentOS-install-VMware-a-10.jpg ├── CentOS-install-VMware-a-11.jpg ├── CentOS-install-VMware-a-12.jpg ├── CentOS-install-VMware-a-13.jpg ├── CentOS-install-VMware-a-14.jpg ├── CentOS-install-VMware-a-15.jpg ├── CentOS-install-VMware-a-16.jpg ├── CentOS-install-VMware-a-17.jpg ├── CentOS-install-VMware-a-18.jpg ├── CentOS-install-VMware-a-19.jpg ├── CentOS-install-VMware-a-2.jpg ├── CentOS-install-VMware-a-20.jpg ├── CentOS-install-VMware-a-21.jpg ├── CentOS-install-VMware-a-22.jpg ├── CentOS-install-VMware-a-23.jpg ├── CentOS-install-VMware-a-24.jpg ├── CentOS-install-VMware-a-25.jpg ├── CentOS-install-VMware-a-3.jpg ├── CentOS-install-VMware-a-4.jpg ├── CentOS-install-VMware-a-5.jpg ├── CentOS-install-VMware-a-6.jpg ├── CentOS-install-VMware-a-7.jpg ├── CentOS-install-VMware-a-8.jpg ├── CentOS-install-VMware-a-9.jpg ├── CentOS-install-VMware-b-1.gif ├── CentOS-install-VMware-b-2.gif ├── CentOS6-and-CentOS7-a-1.png ├── Crontab-a-1.jpg ├── FTP-a-1.jpg ├── FastDFS-a-1.jpg ├── Iptables-a-1.jpg ├── Jira-Install-And-Settings-a-1.jpg ├── Jira-Install-And-Settings-a-2.jpg ├── Jira-Install-And-Settings-a-3.jpg ├── Jira-Install-And-Settings-a-4.jpg ├── Jira-Install-And-Settings-a-5.jpg ├── Jira-Install-And-Settings-a-6.jpg ├── Ldap-Install-And-Settings-a-1.png ├── NTP-a-1.jpg ├── Nexus-Install-And-Settings-a-1.jpg ├── Nexus-Install-And-Settings-a-2.gif ├── Nginx-SSL-a-1.jpg ├── Openfire-Settings-a-1.jpg ├── Openfire-Settings-a-10.jpg ├── Openfire-Settings-a-11.jpg ├── Openfire-Settings-a-12.jpg ├── Openfire-Settings-a-13.jpg ├── Openfire-Settings-a-2.jpg ├── Openfire-Settings-a-3.jpg ├── Openfire-Settings-a-4.jpg ├── Openfire-Settings-a-5.jpg ├── Openfire-Settings-a-6.jpg ├── Openfire-Settings-a-7.jpg ├── Openfire-Settings-a-8.jpg ├── Openfire-Settings-a-9.jpg ├── RabbitMQ-Add-User-a-1.jpg ├── RabbitMQ-Add-User-a-2.jpg ├── RabbitMQ-Add-User-a-3.gif ├── RabbitMQ-Bindings-Queue-a-1.gif ├── Redis-GUI-a-1.jpg ├── SVN-Install-And-Settings-a-1.jpg ├── SVN-Install-And-Settings-a-2.jpg ├── SVN-Install-And-Settings-a-3.jpg ├── SVN-Install-And-Settings-a-4.jpg ├── Ubuntu-a-1.jpg ├── Ubuntu-a-2.jpg ├── Ubuntu-a-3.jpg ├── Ubuntu-a-4.jpg ├── Ubuntu-a-5.jpg ├── Ubuntu-a-6.jpg ├── Vim-Cut-And-Paste-a-1.png ├── Zookeeper-Client-ZooInspector.png ├── Zookeeper-Client-zooweb.png ├── Zsh-a-1.jpg ├── Zsh-b-1.jpg ├── Zsh-c-1.jpg └── Zsh-d-1.jpg └── markdown-file ├── Alfresco-Install-And-Usage.md ├── Ansible-Install-And-Settings.md ├── Bash-Other-Bash.md ├── Bash.md ├── CI-Install-And-Usage.md ├── CentOS-7-Install.md ├── CentOS-Install.md ├── CentOS-Virtual-Machine-Copy-Settings.md ├── CentOS.md ├── CentOS6-and-CentOS7.md ├── Confluence-Install-And-Settings.md ├── Crontab.md ├── Daemontools.md ├── Docker-Install-And-Usage.md ├── Dubbo-Install-And-Settings.md ├── ELK-Install-And-Settings.md ├── Elasticsearch-Base.md ├── FTP.md ├── FastDFS-Install-And-Settings.md ├── FastDFS-Nginx-Lua-GraphicsMagick.md ├── File-Extract-Compress.md ├── Flink-Install-And-Settings.md ├── Gitlab-Install-And-Settings.md ├── Glances-Install-And-Settings.md ├── GoAccess-Install-And-Settings.md ├── Grafana-Install-And-Settings.md ├── Hadoop-Install-And-Settings.md ├── Harbor-Install-And-Usage.md ├── Hsk-Install.md ├── Influxdb-Install-And-Settings.md ├── Iptables.md ├── JDK-Install.md ├── JMeter-Install-And-Settings.md ├── Java-bin.md ├── Jenkins-Install-And-Settings.md ├── Jira-Install-And-Settings.md ├── K8S-Install-And-Usage.md ├── Kafka-Install-And-Settings.md ├── Kibana-Base.md ├── Kubernetes-Install-And-Usage.md ├── LDAP-Install-And-Settings.md ├── Linux.md ├── Logstash-Base.md ├── Maven-Install-And-Settings.md ├── MongoDB-Install-And-Settings.md ├── Mycat-Install-And-Settings.md ├── Mysql-Install-And-Settings.md ├── Mysql-Optimize.md ├── Mysql-Test.md ├── Mysql-Tutorial.md ├── NFS.md ├── NTP.md ├── Nexus-Install-And-Settings.md ├── Nginx-Install-And-Settings.md ├── Nginx-Keepalived-Install-And-Settings.md ├── Nmon.md ├── Node-Install-And-Usage.md ├── Off-line-Yum-Install.md ├── Openfire-Install-And-Settings.md ├── PXC-Install-And-Settings.md ├── Portainer-Install-And-Settings.md ├── PostgreSQL-Install-And-Settings.md ├── Prometheus-Install-And-Settings.md ├── Python-Ubuntu.md ├── RabbitMQ-Install-And-Settings.md ├── Rap-Install-And-Settings.md ├── Redis-Install-And-Settings.md ├── SSH-login-without-password.md ├── SSH.md ├── SSR-Client-Ubuntu.md ├── SVN-Install-And-Settings.md ├── Samba.md ├── Sed.md ├── Shell.md ├── Showdoc-Install-And-Settings.md ├── SkyWalking-Install-And-Settings.md ├── Solr-Install-And-Settings.md ├── SonarQube-Install-And-Usage.md ├── Spark-Install-And-Settings.md ├── TeamCity-Install-And-Settings.md ├── Thrift-Install-And-Usage.md ├── Tmux-Install-And-Settings.md ├── Tomcat-Install-And-Settings.md ├── Ubuntu-Install-VMware.md ├── Ubuntu-Install.md ├── Ubuntu-Popular-Software.md ├── Ubuntu-Specific-Command.md ├── Ubuntu.md ├── VPN.md ├── Vim-Install-And-Settings.md ├── Was-Hacked.md ├── WordPress-Install-And-Settings.md ├── Wormhole-Install-And-Settings.md ├── YApi-Install-And-Settings.md ├── Zabbix-Install-And-Settings.md ├── Zookeeper-Install.md ├── Zsh.md ├── kali-linux-settings ├── kali-linux-basic-settings.md ├── kali-linux-install.md ├── kali-linux-penetration-test.md ├── kali-linux-social-engineering.md ├── kali-linux-sql-injection.md └── kali-linux-toc.md ├── maintenance.md ├── monitor.md ├── other.md ├── shell-safe-rm.md ├── speedtest.md ├── ubuntu-settings ├── Network-Settings.md ├── Ubuntu-Create-Desktop.md ├── Ubuntu-Extra-Packages.md ├── Ubuntu-Popular-Settings.md ├── Ubuntu-UI.md └── ubuntu-settings-toc.md └── wrk-Install-And-Settings.md /.editorconfig: -------------------------------------------------------------------------------- 1 | # http://editorconfig.org 2 | # 官网首页有介绍:IntelliJ IDEA,VS Code 默认就支持,无需额外安装插件 3 | root = true 4 | 5 | # 空格替代Tab缩进在各种编辑工具下效果一致 6 | [*] 7 | indent_style = space 8 | indent_size = 4 9 | charset = utf-8 10 | end_of_line = lf 11 | trim_trailing_whitespace = true 12 | insert_final_newline = true 13 | max_line_length = 200 14 | 15 | 16 | 17 | [*.java] 18 | indent_style = tab 19 | 20 | [*.{json,yml}] 21 | indent_size = 2 22 | 23 | [*.md] 24 | insert_final_newline = false 25 | trim_trailing_whitespace = false 26 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | build/ 2 | out/ 3 | log/ 4 | logs/ 5 | public/ 6 | target/ 7 | node_modules/ 8 | classes/ 9 | .deploy*/ 10 | .gradle 11 | *.log.* 12 | *.log 13 | .DS_Store 14 | Thumbs.db 15 | 16 | ### STS ### 17 | .apt_generated 18 | .classpath 19 | .factorypath 20 | .project 21 | .settings 22 | .springBeans 23 | 24 | ### IntelliJ IDEA ### 25 | .idea 26 | *.iws 27 | *.iml 28 | *.ipr 29 | 30 | ### NetBeans ### 31 | nbproject/private/ 32 | build/ 33 | nbbuild/ 34 | dist/ 35 | nbdist/ 36 | .nb-gradle/ -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | 2 | ## 作者新方向,感谢支持 3 | 4 | - [从开公司到开发全平台产品(文字版)](https://github.com/cdk8s/cdk8s-team-style/blob/master/full-stack/README.md) 5 | - [从开公司到开发全平台产品(视频版)](https://space.bilibili.com/1765486559/channel/seriesdetail?sid=2359281) 6 | 7 | ## 初衷(Original Intention) 8 | 9 | - 整理下自己所学。**但是比较随意,所以很多地方不够严谨,所以请带着批评的思维阅读。** 10 | - 带动更多的人进入 Linux 世界,特别是做 Java 开发的人 11 | - Github 项目地址,欢迎 `Fork`、`Star`: 12 | - 文章中用到的一些安装包归纳整理: 13 | - Gitbook 在线阅读地址: 14 | - **学得越多越是明白一个人的力量是不够的,我只是起了一个引子,希望你能一起参与,真心希望!!!(鞠躬)** 15 | 16 | ## 优秀同行推荐 17 | 18 | - [Linux工具快速教程](http://linuxtools-rst.readthedocs.io/zh_CN/latest/base/index.html) 19 | 20 | ## 目录(Contents) 21 | 22 | - [Linux 介绍](markdown-file/Linux.md) 23 | - [Ubuntu 介绍](markdown-file/Ubuntu.md) 24 | - [Ubuntu 安装](markdown-file/Ubuntu-Install.md) 25 | - [Ubuntu 设置(目录)](markdown-file/ubuntu-settings/ubuntu-settings-toc.md) 26 | - [Kali Linux 介绍和设置(目录)](markdown-file/kali-linux-settings/kali-linux-toc.md) 27 | - [CentOS 介绍](markdown-file/CentOS.md) 28 | - [CentOS 6 安装](markdown-file/CentOS-Install.md) 29 | - [CentOS 7 安装](markdown-file/CentOS-7-Install.md) 30 | - [CentOS 6 和 CentOS 7 差异](markdown-file/CentOS6-and-CentOS7.md) 31 | - [CentOS 设置(目录)](markdown-file/centos-settings/centos-settings-toc.md) 32 | - [Ubuntu 安装 VMware](markdown-file/Ubuntu-Install-VMware.md) 33 | - [VMware 克隆 CentOS 后网卡信息修改](markdown-file/CentOS-Virtual-Machine-Copy-Settings.md) 34 | - [Vim 安装、配置、快捷键列表](markdown-file/Vim-Install-And-Settings.md) 35 | - [SSH 免密登录](markdown-file/SSH-login-without-password.md) 36 | - [Bash 命令](markdown-file/Bash.md) 37 | - [Bash 其他常用命令](markdown-file/Bash-Other-Bash.md) 38 | - [安装的 rm(删除)](markdown-file/shell-safe-rm.md) 39 | - [Sed 命令](markdown-file/Sed.md) 40 | - [Linux 下常用压缩文件的解压、压缩](markdown-file/File-Extract-Compress.md) 41 | - [Yum 下载安装包及对应依赖包](markdown-file/Off-line-Yum-Install.md) 42 | - [Zsh 入门](markdown-file/Zsh.md) 43 | -------------------------------------------------------------------------------- /centos-settings/CentOS-Network-Settings.md: -------------------------------------------------------------------------------- 1 | # CentOS 网络设置 2 | 3 | 4 | - 由于前面虚拟机中安装 CentOS 使用的是桥接模式,为了让虚拟机中的系统能上网,我们需要进行网络设置。 5 | 6 | ## CentOS 6 7 | 8 | ### 界面化下设置网络(新手推荐使用这种) 9 | 10 | - ![界面化设置](../images/CentOS-Network-Settings-a-1.jpg) 11 | - 选择上图箭头所示 12 | - ![界面化设置](../images/CentOS-Network-Settings-a-2.jpg) 13 | - 如上图标注 3 所示:选择 `手动` 模式 14 | - 如上图标注 4 所示:填写自己局域网内的子网掩码、默认网关,以及你要分配的内网 IP 地址。这三个参数你可以参考你当前使用的主机信息,在 Windows 系统上使用:`cmd --- ipconfig`,查看你当前连接的网卡信息。如果你是无线网卡则读取对应的无线网卡信息,如果你是本地连接,则读取对应的本地连接信息。 15 | - 如上图标注 5 所示:填写你当前地区合适的 DNS 地址,我这边地区使用 360 测试出来的结果显示 114 的适合我,所以我这里填写该值 16 | 17 | 18 | ### 命令行下设置网络 19 | 20 | - 编辑网卡信息: 21 | - 备份:`cp /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-eth0-20160205Back` 22 | - 把备份文件移动到其他目录:`mv /etc/sysconfig/network-scripts/ifcfg-eth0-20160205Back /opt/myBack` 23 | - 编辑网卡文件:`vim /etc/sysconfig/network-scripts/ifcfg-eth0` 24 | - 把网卡中信息改为下面对应内容: 25 | ``` 26 | DEVICE=eth0 (系统默认值) 27 | TYPE=Ethernet (系统默认值) 28 | UUID=a2c17f0c-a224-43d5-a203-48af1f0d9113 (系统默认值) 29 | ONBOOT=yes (系统默认值是 no,我改为 yes) 30 | NM_CONTROLLED=yes (系统默认值) 31 | BOOTPROTO=none (系统默认值是 dhcp,我改为 none,代表手动) 32 | USERCTL=no (自己补充的) 33 | IPV6INIT=no (自己补充的) 34 | NETMASK=255.255.255.0 (自己补充的) 35 | IPADDR=192.168.0.110 (自己补充的) 36 | GATEWAY=192.168.0.1 (自己补充的) 37 | DNS1=114.114.114.114 (自己补充的) 38 | PREFIX=24 (使用图形界面设置后生成的) 39 | DEFROUTE=yes (使用图形界面设置后生成的) 40 | IPV4_FAILURE_FATAL=yes (使用图形界面设置后生成的) 41 | NAME="System eth0" (使用图形界面设置后生成的) 42 | HWADDR=00:0C:29:A9:37:D4 (使用图形界面设置后生成的) 43 | LAST_CONNECT=1454626679 (使用图形界面设置后生成的) 44 | ``` 45 | - 重启网络配置:`service network restart` 46 | 47 | ## CentOS 7.x 48 | 49 | ### 命令行下设置网络 50 | 51 | - 查看系统下有哪些网卡:`ls /etc/sysconfig/network-scripts/`,新版本不叫 eth0 这类格式了,比如我当前这个叫做:ifcfg-ens33(你的肯定跟我不一样,但是格式类似) 52 | - 先备份:`cp /etc/sysconfig/network-scripts/ifcfg-ens33 /etc/sysconfig/network-scripts/ifcfg-ens33.bak` 53 | - 编辑该文件:`vim /etc/sysconfig/network-scripts/ifcfg-ens33`,改为如下信息:(IP 段自己改为自己的网络情况) 54 | 55 | ``` ini 56 | TYPE=Ethernet 57 | PROXY_METHOD=none 58 | BROWSER_ONLY=no 59 | BOOTPROTO=static 60 | IPADDR=192.168.0.127 61 | NETMASK=255.255.255.0 62 | GATEWAY=192.168.0.1 63 | DNS1=8.8.8.8 64 | DNS1=114.114.114.114 65 | DEFROUTE=yes 66 | PEERDNS=yes 67 | PEERROUTES=yes 68 | IPV4_FAILURE_FATAL=no 69 | IPV6INIT=yes 70 | IPV6_AUTOCONF=yes 71 | IPV6_DEFROUTE=yes 72 | IPV6_PEERDNS=yes 73 | IPV6_PEERROUTES=yes 74 | IPV6_FAILURE_FATAL=no 75 | IPV6_ADDR_GEN_MODE=stable-privacy 76 | NAME=ens33 77 | UUID=b9f01b7d-4ebf-4d3a-a4ec-ae203425bb11 78 | DEVICE=ens33 79 | ONBOOT=yes 80 | ``` 81 | 82 | - 修改后,重启网络服务:`systemctl restart network.service` -------------------------------------------------------------------------------- /centos-settings/Clear-Cache.md: -------------------------------------------------------------------------------- 1 | ## 清除系统缓存 2 | 3 | 4 | ## 初衷 5 | 6 | - 本身 Linux 有比较成熟的内存管理机制,但是不免也是会抽风的,有些程序在被 kill 掉之后系统内存依然没有大的变化,这时候就需要手动清除。 7 | 8 | 9 | ## 清除缓存 10 | 11 | - 官网说明: 12 | - 先查看目前系统内存使用情况:`free -m` 13 | - 同步缓存数据到硬盘:`sync` 14 | - 开始清理:`echo 3 > /proc/sys/vm/drop_caches` 15 | - 0:不清除 16 | - 1:清除页缓存 17 | - 2:清除目录项缓存与文件结点缓存 18 | - 3:清除所有缓存(常用) 19 | - 再查看清除后效果:`free -m` 20 | -------------------------------------------------------------------------------- /centos-settings/Clear-Tmp-Directory.md: -------------------------------------------------------------------------------- 1 | ## 修改定时清理 /tmp 目录下的文件 2 | 3 | 4 | ## 初衷 5 | 6 | - 默认系统是超过 30 天不访问的文件自动清除的,但是有时候硬盘用得紧可以考虑修改周期 7 | 8 | 9 | ## 设置方法 10 | 11 | - 编辑配置文件:`vim /etc/cron.daily/tmpwatch` 12 | 13 | ``` nginx 14 | #! /bin/sh 15 | flags=-umc 16 | /usr/sbin/tmpwatch "$flags" -x /tmp/.X11-unix -x /tmp/.XIM-unix \ 17 | -x /tmp/.font-unix -x /tmp/.ICE-unix -x /tmp/.Test-unix \ 18 | -X '/tmp/hsperfdata_*' 10d /tmp 19 | /usr/sbin/tmpwatch "$flags" 30d /var/tmp 20 | for d in /var/{cache/man,catman}/{cat?,X11R6/cat?,local/cat?}; do 21 | if [ -d "$d" ]; then 22 | /usr/sbin/tmpwatch "$flags" -f 30d "$d" 23 | fi 24 | done 25 | ``` 26 | 27 | - 上面这句话:`/usr/sbin/tmpwatch "$flags" -f 30d "$d"`,其中 **30d** 表示 30 天表示要备删除的周期文件,该值最低为 1。 28 | - 一般数据建议不要放在这个目录下,以免被系统误删 29 | -------------------------------------------------------------------------------- /centos-settings/Close-XWindow.md: -------------------------------------------------------------------------------- 1 | ## CentOS 图形界面的关闭与开启 2 | 3 | 4 | ## 初衷 5 | 6 | - 本地开多个虚拟机搞集群测试,为了节省资源,关掉图形界面更好点 7 | 8 | 9 | ## CentOS 6 设置方法 10 | 11 | - 编辑配置文件:`vim /etc/inittab` 12 | - 把默认值:`id:5:initdefault:`,改为:`id:3:initdefault:` 13 | - 重启系统:`reboot`,重启后就只有 shell 界面了。 14 | - 在 shell 界面中如果你还希望临时开启图形界面可以输入:`init 5` 15 | - 在图形界面中如果你希望临时关闭图形界面可以输入:`init 3` 16 | 17 | 18 | ## CentOS 7 设置方法 1 19 | 20 | - 开机以命令模式启动,执行: 21 | - systemctl set-default multi-user.target 22 | - 开机以图形界面启动,执行: 23 | - systemctl set-default graphical.target 24 | 25 | ## CentOS 7 设置方法 2 26 | 27 | - 关闭图形 28 | - `mv /etc/systemd/system/default.target /etc/systemd/system/default.target.bak` (改名备份) 29 | - `ln -sf /lib/systemd/system/multi-user.target /etc/systemd/system/default.target` (重新软连接文本界面为启动默认值界面) 30 | - `systemctl reboot` (重启) 31 | 32 | - 恢复图形界面 33 | - `rm -rf /etc/systemd/system/default.target` (移除当前配置链接) 34 | - `mv /etc/systemd/system/default.target.bak /etc/systemd/system/default.target` (恢复备份配置链接) 35 | - `systemctl reboot` -------------------------------------------------------------------------------- /centos-settings/centos-settings-toc.md: -------------------------------------------------------------------------------- 1 | - [CentOS 网络设置](CentOS-Network-Settings.md) 2 | - [CentOS 源设置](CentOS-Extra-Packages.md) 3 | - [CentOS 图形界面的关闭与开启](Close-XWindow.md) 4 | - [清除系统缓存](Clear-Cache.md) 5 | - [修改定时清理 /tmp 目录下的文件](Clear-Tmp-Directory.md) 6 | 7 | 8 | -------------------------------------------------------------------------------- /config.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Java 程序员眼中的 Linux", 3 | "introduction": "笔者从 Java 开发角度,全方位讲解各种环境搭建及常用工具详解,是一部适合程序员的百科全书。" 4 | 5 | } -------------------------------------------------------------------------------- /cover/background.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wechat-Group/Linux-Tutorial/80109268d5b773c22cb8700d953d5ff01e52abde/cover/background.jpg -------------------------------------------------------------------------------- /cover/cover.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wechat-Group/Linux-Tutorial/80109268d5b773c22cb8700d953d5ff01e52abde/cover/cover.jpg -------------------------------------------------------------------------------- /cover/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wechat-Group/Linux-Tutorial/80109268d5b773c22cb8700d953d5ff01e52abde/cover/logo.png -------------------------------------------------------------------------------- /favorite-file/Keepalived-Settings/nginx_check.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # 如果进程中没有nginx则将keepalived进程kill掉 3 | A=`ps -C nginx --no-header |wc -l` ## 查看是否有 nginx进程 把值赋给变量A 4 | if [ $A -eq 0 ];then ## 如果没有进程值得为 零 5 | service keepalived stop ## 则结束 keepalived 进程 6 | fi -------------------------------------------------------------------------------- /favorite-file/MySQL-Settings/MySQL-5.6/8G-Memory-Machine/my.cnf: -------------------------------------------------------------------------------- 1 | [mysql] 2 | port = 3306 3 | socket = /usr/program/mysql/data/mysql.sock 4 | default-character-set = utf8 5 | 6 | [mysqld] 7 | user = mysql 8 | port = 3306 9 | server-id = 100866 10 | default-storage-engine = InnoDB 11 | socket = /usr/program/mysql/data/mysql.sock 12 | pid-file = /usr/program/mysql/data/mysql.pid 13 | collation-server = utf8_general_ci 14 | init_connect = 'SET NAMES utf8' 15 | character-set-server = utf8 16 | basedir = /usr/program/mysql 17 | datadir = /usr/program/mysql/data 18 | log-error = /usr/program/mysql/data/mysql-error.log 19 | 20 | back_log = 512 21 | max_connections = 1000 22 | max_allowed_packet = 120M 23 | max_connect_errors = 1000000 24 | skip-name-resolve 25 | open_files_limit = 65535 26 | table_open_cache = 2048 27 | binlog_cache_size = 20M 28 | max_heap_table_size = 40M 29 | tmp_table_size = 64M 30 | read_buffer_size = 20M 31 | read_rnd_buffer_size = 20M 32 | sort_buffer_size = 20M 33 | join_buffer_size = 20M 34 | key_buffer_size = 40M 35 | thread_cache_size = 100 36 | thread_stack = 20M 37 | 38 | # 5.6.8之后这个不再建议开启了,所以要关掉 39 | query_cache_type = 0 40 | query_cache_size = 40M 41 | query_cache_limit = 10M 42 | ft_min_word_len = 4 43 | log-bin = /usr/program/mysql/data/mysql-bin 44 | binlog-format = mixed 45 | expire_logs_days = 14 46 | sync_binlog = 0 47 | log-queries-not-using-indexes = 1 48 | slow_query_log = 0 49 | long_query_time = 3 50 | slow_query_log_file = /usr/program/mysql/data/mysql-slow.log 51 | performance_schema = 0 52 | explicit_defaults_for_timestamp = true 53 | lower_case_table_names = 1 54 | skip_external_locking 55 | table_definition_cache = 1024 56 | thread_concurrency = 2 57 | innodb = FORCE 58 | innodb_flush_method = O_DIRECT 59 | innodb_file_per_table = 1 60 | innodb_open_files = 500 61 | innodb_thread_concurrency = 0 62 | innodb_purge_threads = 1 63 | innodb_flush_log_at_trx_commit = 1 64 | innodb_log_buffer_size = 20M 65 | innodb_log_file_size = 256M 66 | innodb_log_files_in_group = 2 67 | innodb_lock_wait_timeout = 120 68 | innodb_additional_mem_pool_size = 20M 69 | 70 | 71 | innodb_buffer_pool_size = 3G 72 | innodb_read_io_threads = 8 73 | innodb_write_io_threads = 8 74 | innodb_io_capacity = 2000 75 | innodb_max_dirty_pages_pct = 90 76 | 77 | bulk_insert_buffer_size = 64M 78 | myisam_sort_buffer_size = 64M 79 | myisam_max_sort_file_size = 10G 80 | myisam_repair_threads = 1 81 | interactive_timeout = 28800 82 | wait_timeout = 3600 83 | 84 | [mysqldump] 85 | quick 86 | max_allowed_packet = 120M 87 | 88 | [myisamchk] 89 | key_buffer_size = 20M 90 | sort_buffer_size = 20M 91 | read_buffer = 20M 92 | write_buffer = 20M 93 | -------------------------------------------------------------------------------- /favorite-file/MySQL-Settings/MySQL-5.6/developer/my-Windows-8G-开发机.ini: -------------------------------------------------------------------------------- 1 | [client] 2 | no-beep 3 | port=3306 4 | 5 | 6 | [mysql] 7 | default-character-set=utf8 8 | 9 | [mysqld] 10 | port=3306 11 | basedir="C:/Program Files/MySQL/MySQL Server 5.6/" 12 | datadir="C:/ProgramData/MySQL/MySQL Server 5.6/data\" 13 | character-set-server=utf8 14 | default-storage-engine=INNODB 15 | sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION" 16 | log-output=NONE 17 | general-log=0 18 | general_log_file="AJBC-1540.log" 19 | slow-query-log=0 20 | slow_query_log_file="AJBC-1540-slow.log" 21 | long_query_time=10 22 | log-error="AJBC-1540.err" 23 | max_connections=1000 24 | query_cache_size=10M 25 | table_open_cache=2000 26 | tmp_table_size=37M 27 | thread_cache_size=32 28 | myisam_max_sort_file_size=100G 29 | myisam_sort_buffer_size=72M 30 | key_buffer_size=256M 31 | read_buffer_size=6M 32 | read_rnd_buffer_size=8M 33 | sort_buffer_size=2M 34 | innodb_additional_mem_pool_size=5M 35 | innodb_flush_log_at_trx_commit=1 36 | innodb_log_buffer_size=3M 37 | innodb_buffer_pool_size=592M 38 | innodb_log_file_size=64M 39 | innodb_thread_concurrency=9 40 | innodb_autoextend_increment=64M 41 | innodb_buffer_pool_instances=8 42 | innodb_concurrency_tickets=5000 43 | innodb_old_blocks_time=1000 44 | innodb_open_files=500 45 | innodb_stats_on_metadata=0 46 | innodb_file_per_table=1 47 | innodb_checksum_algorithm=0 48 | back_log=512 49 | flush_time=0 50 | join_buffer_size=4M 51 | max_allowed_packet=50M 52 | max_connect_errors=1000000 53 | open_files_limit=65535 54 | query_cache_type=1 55 | table_definition_cache=1400 56 | binlog_row_event_max_size=8K 57 | sync_master_info=10000 58 | sync_relay_log=10000 59 | sync_relay_log_info=10000 60 | innodb_write_io_threads = 4 61 | innodb_read_io_threads = 4 62 | innodb_purge_threads = 1 63 | innodb_log_files_in_group = 3 64 | innodb_max_dirty_pages_pct = 90 65 | innodb_lock_wait_timeout = 120 66 | max_heap_table_size = 32M 67 | thread_stack = 256k 68 | ft_min_word_len = 4 69 | performance_schema = 0 70 | explicit_defaults_for_timestamp = true 71 | skip_external_locking 72 | bulk_insert_buffer_size = 8M 73 | wait_timeout = 3600 74 | interactive_timeout = 28800 75 | myisam_repair_threads = 1 76 | query_cache_limit = 5M -------------------------------------------------------------------------------- /favorite-file/Nginx-Settings/nginx: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | 4 | #nginx执行程序路径需要修改 5 | nginxd=/usr/local/nginx/sbin/nginx 6 | 7 | # nginx配置文件路径需要修改 8 | nginx_config=/usr/local/nginx/conf/nginx.conf 9 | 10 | # pid 地址需要修改 11 | nginx_pid=/var/local/nginx/nginx.pid 12 | 13 | 14 | RETVAL=0 15 | prog="nginx" 16 | 17 | # Source function library. 18 | . /etc/rc.d/init.d/functions 19 | # Source networking configuration. 20 | . /etc/sysconfig/network 21 | # Check that networking is up. 22 | [ ${NETWORKING} = "no" ] && exit 0 23 | [ -x $nginxd ] || exit 0 24 | 25 | # Start nginx daemons functions. 26 | start() { 27 | if [ -e $nginx_pid ];then 28 | echo "nginx already running...." 29 | exit 1 30 | fi 31 | 32 | echo -n $"Starting $prog: " 33 | daemon $nginxd -c ${nginx_config} 34 | RETVAL=$? 35 | echo 36 | [ $RETVAL = 0 ] && touch /var/lock/subsys/nginx 37 | return $RETVAL 38 | } 39 | 40 | # Stop nginx daemons functions. 41 | # pid 地址需要修改 42 | stop() { 43 | echo -n $"Stopping $prog: " 44 | killproc $nginxd 45 | RETVAL=$? 46 | echo 47 | [ $RETVAL = 0 ] && rm -f /var/lock/subsys/nginx /var/local/nginx/nginx.pid 48 | } 49 | 50 | # reload nginx service functions. 51 | reload() { 52 | echo -n $"Reloading $prog: " 53 | #kill -HUP `cat ${nginx_pid}` 54 | killproc $nginxd -HUP 55 | RETVAL=$? 56 | echo 57 | } 58 | 59 | # See how we were called. 60 | case "$1" in 61 | start) 62 | start 63 | ;; 64 | stop) 65 | stop 66 | ;; 67 | reload) 68 | reload 69 | ;; 70 | restart) 71 | stop 72 | start 73 | ;; 74 | status) 75 | status $prog 76 | RETVAL=$? 77 | ;; 78 | *) 79 | 80 | echo $"Usage: $prog {start|stop|restart|reload|status|help}" 81 | exit 1 82 | 83 | esac 84 | exit $RETVAL -------------------------------------------------------------------------------- /favorite-file/Tomcat-Settings/server.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 14 | 15 | 16 | 17 | 25 | 26 | 27 | 44 | 45 | 46 | 47 | 49 | 50 | 52 | 55 | 56 | 57 | 58 | 59 | -------------------------------------------------------------------------------- /favorite-file/gravitee-docker-compose/README.md: -------------------------------------------------------------------------------- 1 | # graviteeio api gateway docker-compose running 2 | 3 | fork from graviteeio project && change some deps image 4 | 5 | - 6 | - 7 | 8 | ## how to run 9 | 10 | ```code 11 | cd platform && docker-compose up -d 12 | ``` 13 | 14 | ## manager ui 15 | 16 | * api portal 17 | 18 | ```code 19 | open https://localhost/apim/portal 20 | ``` 21 | 22 | * access manager ui 23 | 24 | ```code 25 | open https://localhost/am/ui/ 26 | ``` 27 | 28 | ## Note: 29 | 30 | - environments directory has some demos with ci && traefik gateway 31 | - portal account admin amdin 32 | - access manager ui account admin adminadmin -------------------------------------------------------------------------------- /favorite-file/gravitee-docker-compose/environments/ci/docker-compose.yml: -------------------------------------------------------------------------------- 1 | #------------------------------------------------------------------------------- 2 | # Copyright (C) 2015 The Gravitee team (http://gravitee.io) 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # http://www.apache.org/licenses/LICENSE-2.0 7 | # Unless required by applicable law or agreed to in writing, software 8 | # distributed under the License is distributed on an "AS IS" BASIS, 9 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 10 | # See the License for the specific language governing permissions and 11 | # limitations under the License. 12 | #------------------------------------------------------------------------------- 13 | version: '2' 14 | 15 | services: 16 | ci: 17 | image: graviteeio/jenkins:latest 18 | container_name: ci 19 | network_mode: "bridge" 20 | expose: 21 | - 50022 22 | ports: 23 | - "50022:50022" 24 | labels: 25 | - "traefik.frontend.rule=Host:ci.gravitee.io" 26 | - "traefik.port=8080" 27 | volumes: 28 | - /var/jenkins_home:/var/jenkins_home 29 | - /var/run/docker.sock:/var/run/docker.sock 30 | links: 31 | - redis-test 32 | - qa 33 | 34 | redis-test: 35 | image: redis:3 36 | container_name: redis-test 37 | network_mode: "bridge" 38 | 39 | qa: 40 | image: sonarqube:alpine 41 | container_name: qa 42 | network_mode: "bridge" 43 | environment: 44 | - SONARQUBE_JDBC_URL=jdbc:postgresql://sonarqube-db:5432/sonar 45 | labels: 46 | - "traefik.frontend.rule=Host:qa.gravitee.io" 47 | volumes: 48 | - /opt/sonarqube/conf:/opt/sonarqube/conf 49 | - /opt/sonarqube/data:/opt/sonarqube/data 50 | - /opt/sonarqube/extensions:/opt/sonarqube/extensions 51 | - /opt/sonarqube/bundled-plugins:/opt/sonarqube/lib/bundled-plugins 52 | links: 53 | - sonarqube-db 54 | 55 | sonarqube-db: 56 | image: postgres:alpine 57 | network_mode: "bridge" 58 | environment: 59 | - POSTGRES_USER=sonar 60 | - POSTGRES_PASSWORD=sonar 61 | volumes: 62 | - /opt/sonarqube/postgresql/data:/var/lib/postgresql/data 63 | -------------------------------------------------------------------------------- /favorite-file/gravitee-docker-compose/environments/demo/common.yml: -------------------------------------------------------------------------------- 1 | #------------------------------------------------------------------------------- 2 | # Copyright (C) 2015 The Gravitee team (http://gravitee.io) 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # http://www.apache.org/licenses/LICENSE-2.0 7 | # Unless required by applicable law or agreed to in writing, software 8 | # distributed under the License is distributed on an "AS IS" BASIS, 9 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 10 | # See the License for the specific language governing permissions and 11 | # limitations under the License. 12 | #------------------------------------------------------------------------------- 13 | version: '2' 14 | 15 | volumes: 16 | datamongo: {} 17 | dataelasticsearch: {} 18 | 19 | services: 20 | elasticsearch: 21 | hostname: demo-elasticsearch 22 | image: docker.elastic.co/elasticsearch/elasticsearch:5.4.3 23 | volumes: 24 | - dataelasticsearch:/usr/share/elasticsearch/data 25 | environment: 26 | - http.host=0.0.0.0 27 | - transport.host=0.0.0.0 28 | - xpack.security.enabled=false 29 | - xpack.monitoring.enabled=false 30 | - cluster.name=elasticsearch 31 | - bootstrap.memory_lock=true 32 | - "ES_JAVA_OPTS=-Xms512m -Xmx512m" 33 | ulimits: 34 | memlock: 35 | soft: -1 36 | hard: -1 37 | nofile: 65536 38 | 39 | mongodb: 40 | hostname: demo-mongodb 41 | image: mongo:3.4 42 | volumes: 43 | - datamongo:/data/db 44 | 45 | gateway: 46 | hostname: demo-gateway 47 | image: graviteeio/gateway:latest 48 | environment: 49 | - gravitee_management_mongodb_uri=mongodb://mongodb:27017/gravitee?serverSelectionTimeoutMS=5000&connectTimeoutMS=5000&socketTimeoutMS=5000 50 | - gravitee_ratelimit_mongodb_uri=mongodb://mongodb:27017/gravitee?serverSelectionTimeoutMS=5000&connectTimeoutMS=5000&socketTimeoutMS=5000 51 | - gravitee_reporters_elasticsearch_endpoints_0=http://elasticsearch:9200 52 | 53 | managementui: 54 | hostname: demo-managementui 55 | image: graviteeio/management-ui:latest 56 | 57 | managementapi: 58 | hostname: demo-managementapi 59 | image: graviteeio/management-api:latest 60 | environment: 61 | - gravitee_management_mongodb_uri=mongodb://mongodb:27017/gravitee?serverSelectionTimeoutMS=5000&connectTimeoutMS=5000&socketTimeoutMS=5000 62 | - gravitee_analytics_elasticsearch_endpoints_0=http://elasticsearch:9200 63 | -------------------------------------------------------------------------------- /favorite-file/gravitee-docker-compose/environments/demo/docker-compose-local.yml: -------------------------------------------------------------------------------- 1 | #------------------------------------------------------------------------------- 2 | # Copyright (C) 2015 The Gravitee team (http://gravitee.io) 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # http://www.apache.org/licenses/LICENSE-2.0 7 | # Unless required by applicable law or agreed to in writing, software 8 | # distributed under the License is distributed on an "AS IS" BASIS, 9 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 10 | # See the License for the specific language governing permissions and 11 | # limitations under the License. 12 | #------------------------------------------------------------------------------- 13 | version: '2' 14 | 15 | volumes: 16 | local_datamongo: {} 17 | local_dataelasticsearch: {} 18 | 19 | services: 20 | local_elasticsearch: 21 | extends: 22 | file: common.yml 23 | service: elasticsearch 24 | volumes: 25 | - local_dataelasticsearch:/usr/share/elasticsearch/data 26 | - ./logs/elasticsearch:/var/log/elasticsearch 27 | 28 | local_mongodb: 29 | extends: 30 | file: common.yml 31 | service: mongodb 32 | volumes: 33 | - local_datamongo:/data/db 34 | - ./logs/mongodb:/var/log/mongodb 35 | 36 | local_gateway: 37 | extends: 38 | file: common.yml 39 | service: gateway 40 | links: 41 | - "local_mongodb:demo-mongodb" 42 | - "local_elasticsearch:demo-elasticsearch" 43 | ports: 44 | - "8000:8082" 45 | volumes: 46 | - ./logs/gateway:/etc/gravitee.io/log 47 | environment: 48 | - gravitee_management_mongodb_uri=mongodb://demo-mongodb:27017/gravitee?serverSelectionTimeoutMS=5000&connectTimeoutMS=5000&socketTimeoutMS=5000 49 | - gravitee_ratelimit_mongodb_uri=mongodb://demo-mongodb:27017/gravitee?serverSelectionTimeoutMS=5000&connectTimeoutMS=5000&socketTimeoutMS=5000 50 | - gravitee_reporters_elasticsearch_endpoints_0=http://demo-elasticsearch:9200 51 | 52 | local_managementui: 53 | extends: 54 | file: common.yml 55 | service: managementui 56 | ports: 57 | - "8002:80" 58 | volumes: 59 | - ./logs/management-ui:/var/log/httpd 60 | environment: 61 | - MGMT_API_URL=http:\/\/localhost:8005\/management\/ 62 | 63 | local_managementapi: 64 | extends: 65 | file: common.yml 66 | service: managementapi 67 | ports: 68 | - "8005:8083" 69 | volumes: 70 | - ./logs/management-api:/home/gravitee/logs 71 | links: 72 | - "local_mongodb:demo-mongodb" 73 | - "local_elasticsearch:demo-elasticsearch" 74 | environment: 75 | - gravitee_management_mongodb_uri=mongodb://demo-mongodb:27017/gravitee?serverSelectionTimeoutMS=5000&connectTimeoutMS=5000&socketTimeoutMS=5000 76 | - gravitee_analytics_elasticsearch_endpoints_0=http://demo-elasticsearch:9200 77 | -------------------------------------------------------------------------------- /favorite-file/gravitee-docker-compose/environments/demo/docker-compose-traefik-latest.yml: -------------------------------------------------------------------------------- 1 | #------------------------------------------------------------------------------- 2 | # Copyright (C) 2015 The Gravitee team (http://gravitee.io) 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # http://www.apache.org/licenses/LICENSE-2.0 7 | # Unless required by applicable law or agreed to in writing, software 8 | # distributed under the License is distributed on an "AS IS" BASIS, 9 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 10 | # See the License for the specific language governing permissions and 11 | # limitations under the License. 12 | #------------------------------------------------------------------------------- 13 | version: '2' 14 | 15 | volumes: 16 | latest_datamongo: {} 17 | latest_dataelasticsearch: {} 18 | 19 | services: 20 | latest_elasticsearch: 21 | network_mode: "bridge" 22 | extends: 23 | file: common.yml 24 | service: elasticsearch 25 | volumes: 26 | - latest_dataelasticsearch:/usr/share/elasticsearch/data 27 | 28 | latest_mongodb: 29 | network_mode: "bridge" 30 | extends: 31 | file: common.yml 32 | service: mongodb 33 | volumes: 34 | - latest_datamongo:/data/db 35 | 36 | latest_gateway: 37 | network_mode: "bridge" 38 | extends: 39 | file: common.yml 40 | service: gateway 41 | links: 42 | - latest_mongodb 43 | - latest_elasticsearch 44 | labels: 45 | - "traefik.backend=graviteeio-gateway" 46 | - "traefik.frontend.rule=Host:demo.gravitee.io;PathPrefixStrip:/gateway" 47 | environment: 48 | - gravitee_management_mongodb_uri=mongodb://demo-mongodb:27017/gravitee?serverSelectionTimeoutMS=5000&connectTimeoutMS=5000&socketTimeoutMS=5000 49 | - gravitee_ratelimit_mongodb_uri=mongodb://demo-mongodb:27017/gravitee?serverSelectionTimeoutMS=5000&connectTimeoutMS=5000&socketTimeoutMS=5000 50 | - gravitee_reporters_elasticsearch_endpoints_0=http://demo-elasticsearch:9200 51 | 52 | latest_managementui: 53 | network_mode: "bridge" 54 | extends: 55 | file: common.yml 56 | service: managementui 57 | labels: 58 | - "traefik.backend=graviteeio-managementui" 59 | - "traefik.frontend.rule=Host:demo.gravitee.io" 60 | environment: 61 | - MGMT_API_URL=https:\/\/demo.gravitee.io\/management\/ 62 | 63 | latest_managementapi: 64 | network_mode: "bridge" 65 | extends: 66 | file: common.yml 67 | service: managementapi 68 | labels: 69 | - "traefik.backend=graviteeio-managementapi" 70 | - "traefik.frontend.rule=Host:demo.gravitee.io;PathPrefix:/management" 71 | links: 72 | - latest_mongodb 73 | - latest_elasticsearch 74 | environment: 75 | - gravitee_management_mongodb_uri=mongodb://demo-mongodb:27017/gravitee?serverSelectionTimeoutMS=5000&connectTimeoutMS=5000&socketTimeoutMS=5000 76 | - gravitee_analytics_elasticsearch_endpoints_0=http://demo-elasticsearch:9200 -------------------------------------------------------------------------------- /favorite-file/gravitee-docker-compose/environments/demo/docker-compose-traefik-nightly.yml: -------------------------------------------------------------------------------- 1 | #------------------------------------------------------------------------------- 2 | # Copyright (C) 2015 The Gravitee team (http://gravitee.io) 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # http://www.apache.org/licenses/LICENSE-2.0 7 | # Unless required by applicable law or agreed to in writing, software 8 | # distributed under the License is distributed on an "AS IS" BASIS, 9 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 10 | # See the License for the specific language governing permissions and 11 | # limitations under the License. 12 | #------------------------------------------------------------------------------- 13 | version: '2' 14 | 15 | volumes: 16 | nightly_datamongo: {} 17 | nightly_dataelasticsearch: {} 18 | 19 | services: 20 | nightly_elasticsearch: 21 | network_mode: "bridge" 22 | extends: 23 | file: common.yml 24 | service: elasticsearch 25 | volumes: 26 | - nightly_dataelasticsearch:/usr/share/elasticsearch/data 27 | 28 | nightly_mongodb: 29 | network_mode: "bridge" 30 | extends: 31 | file: common.yml 32 | service: mongodb 33 | volumes: 34 | - nightly_datamongo:/data/db 35 | 36 | nightly_gateway: 37 | image: graviteeio/gateway:nightly 38 | network_mode: "bridge" 39 | extends: 40 | file: common.yml 41 | service: gateway 42 | links: 43 | - nightly_mongodb 44 | - nightly_elasticsearch 45 | labels: 46 | - "traefik.backend=nightly-graviteeio-gateway" 47 | - "traefik.frontend.rule=Host:nightly.gravitee.io;PathPrefixStrip:/gateway" 48 | environment: 49 | - gravitee_management_mongodb_uri=mongodb://demo-mongodb:27017/gravitee?serverSelectionTimeoutMS=5000&connectTimeoutMS=5000&socketTimeoutMS=5000 50 | - gravitee_ratelimit_mongodb_uri=mongodb://demo-mongodb:27017/gravitee?serverSelectionTimeoutMS=5000&connectTimeoutMS=5000&socketTimeoutMS=5000 51 | - gravitee_reporters_elasticsearch_endpoints_0=http://demo-elasticsearch:9200 52 | 53 | nightly_managementui: 54 | image: graviteeio/management-ui:nightly 55 | network_mode: "bridge" 56 | extends: 57 | file: common.yml 58 | service: managementui 59 | labels: 60 | - "traefik.backend=nightly-graviteeio-managementui" 61 | - "traefik.frontend.rule=Host:nightly.gravitee.io" 62 | environment: 63 | - MGMT_API_URL=https:\/\/nightly.gravitee.io\/management\/ 64 | 65 | nightly_managementapi: 66 | image: graviteeio/management-api:nightly 67 | network_mode: "bridge" 68 | extends: 69 | file: common.yml 70 | service: managementapi 71 | labels: 72 | - "traefik.backend=nightly-graviteeio-managementapi" 73 | - "traefik.frontend.rule=Host:nightly.gravitee.io;PathPrefix:/management" 74 | links: 75 | - nightly_mongodb 76 | - nightly_elasticsearch 77 | environment: 78 | - gravitee_management_mongodb_uri=mongodb://demo-mongodb:27017/gravitee?serverSelectionTimeoutMS=5000&connectTimeoutMS=5000&socketTimeoutMS=5000 79 | - gravitee_analytics_elasticsearch_endpoints_0=http://demo-elasticsearch:9200 -------------------------------------------------------------------------------- /favorite-file/gravitee-docker-compose/environments/sample-apis/docker-compose-sample-apis.yml: -------------------------------------------------------------------------------- 1 | #------------------------------------------------------------------------------- 2 | # Copyright (C) 2015 The Gravitee team (http://gravitee.io) 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # http://www.apache.org/licenses/LICENSE-2.0 7 | # Unless required by applicable law or agreed to in writing, software 8 | # distributed under the License is distributed on an "AS IS" BASIS, 9 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 10 | # See the License for the specific language governing permissions and 11 | # limitations under the License. 12 | #------------------------------------------------------------------------------- 13 | version: '2' 14 | 15 | services: 16 | 17 | sample-api-index: 18 | image: graviteeio/gravitee-sample-index:latest 19 | network_mode: "bridge" 20 | labels: 21 | - "traefik.backend=gravitee-sample-index" 22 | - "traefik.frontend.rule=Host:api.gravitee.io" 23 | - "traefik.frontend.entryPoints=https" 24 | 25 | sample-api-echo: 26 | image: graviteeio/gravitee-echo-api:nightly 27 | network_mode: "bridge" 28 | labels: 29 | - "traefik.backend=gravitee-echo-api" 30 | - "traefik.frontend.rule=Host:api.gravitee.io;PathPrefix:/echo" 31 | - "traefik.frontend.entryPoints=https" 32 | 33 | sample-api-whoami: 34 | image: graviteeio/gravitee-whoami-api:latest 35 | network_mode: "bridge" 36 | labels: 37 | - "traefik.backend=gravitee-whoami-api" 38 | - "traefik.frontend.rule=Host:api.gravitee.io;PathPrefix:/whoami" 39 | - "traefik.frontend.entryPoints=https" 40 | 41 | sample-api-whattimeisit: 42 | image: graviteeio/gravitee-whattimeisit-api:latest 43 | network_mode: "bridge" 44 | labels: 45 | - "traefik.backend=gravitee-whattimeisit-api" 46 | - "traefik.frontend.rule=Host:api.gravitee.io;PathPrefix:/whattimeisit" 47 | - "traefik.frontend.entryPoints=https" 48 | -------------------------------------------------------------------------------- /favorite-file/gravitee-docker-compose/platform/mongo/docker-entrypoint-initdb.d/create-index.js: -------------------------------------------------------------------------------- 1 | 2 | // "apis" collection 3 | db.apis.dropIndexes(); 4 | db.apis.createIndex( { "visibility" : 1 } ); 5 | db.apis.createIndex( { "group" : 1 } ); 6 | db.apis.reIndex(); 7 | 8 | // "applications" collection 9 | db.applications.dropIndexes(); 10 | db.applications.createIndex( { "group" : 1 } ); 11 | db.applications.createIndex( { "name" : 1 } ); 12 | db.applications.createIndex( { "status" : 1 } ); 13 | db.applications.reIndex(); 14 | 15 | // "events" collection 16 | db.events.dropIndexes(); 17 | db.events.createIndex( { "type" : 1 } ); 18 | db.events.createIndex( { "updatedAt" : 1 } ); 19 | db.events.createIndex( { "properties.api_id" : 1 } ); 20 | db.events.createIndex( { "properties.api_id":1, "type":1} ); 21 | db.events.reIndex(); 22 | 23 | // "plans" collection 24 | db.plans.dropIndexes(); 25 | db.plans.createIndex( { "apis" : 1 } ); 26 | db.plans.reIndex(); 27 | 28 | // "subscriptions" collection 29 | db.subscriptions.dropIndexes(); 30 | db.subscriptions.createIndex( { "plan" : 1 } ); 31 | db.subscriptions.createIndex( { "application" : 1 } ); 32 | db.subscriptions.reIndex(); 33 | 34 | // "keys" collection 35 | db.keys.dropIndexes(); 36 | db.keys.createIndex( { "plan" : 1 } ); 37 | db.keys.createIndex( { "application" : 1 } ); 38 | db.keys.createIndex( { "updatedAt" : 1 } ); 39 | db.keys.createIndex( { "revoked" : 1 } ); 40 | db.keys.createIndex( { "plan" : 1 , "revoked" : 1, "updatedAt" : 1 } ); 41 | db.keys.reIndex(); 42 | 43 | // "pages" collection 44 | db.pages.dropIndexes(); 45 | db.pages.createIndex( { "api" : 1 } ); 46 | db.pages.reIndex(); 47 | 48 | // "memberships" collection 49 | db.memberships.dropIndexes(); 50 | db.memberships.createIndex( {"_id.userId":1, "_id.referenceId":1, "_id.referenceType":1}, { unique: true } ); 51 | db.memberships.createIndex( {"_id.referenceId":1, "_id.referenceType":1} ); 52 | db.memberships.createIndex( {"_id.referenceId":1, "_id.referenceType":1, "roles":1} ); 53 | db.memberships.createIndex( {"_id.userId":1, "_id.referenceType":1} ); 54 | db.memberships.createIndex( {"_id.userId":1, "_id.referenceType":1, "roles":1} ); 55 | db.memberships.reIndex(); 56 | 57 | // "roles" collection 58 | db.roles.dropIndexes(); 59 | db.roles.createIndex( {"_id.scope": 1 } ); 60 | db.roles.reIndex(); 61 | 62 | // "audits" collection 63 | db.audits.dropIndexes(); 64 | db.audits.createIndex( { "referenceType": 1, "referenceId": 1 } ); 65 | db.audits.createIndex( { "createdAt": 1 } ); 66 | db.audits.reIndex(); 67 | 68 | // "rating" collection 69 | db.rating.dropIndexes(); 70 | db.rating.createIndex( { "api" : 1 } ); 71 | db.rating.reIndex(); 72 | 73 | // "ratingAnswers" collection 74 | db.ratingAnswers.dropIndexes(); 75 | db.ratingAnswers.createIndex( { "rating" : 1 } ); 76 | 77 | // "portalnotifications" collection 78 | db.portalnotifications.dropIndexes(); 79 | db.portalnotifications.createIndex( { "user" : 1 } ); 80 | db.portalnotifications.reIndex(); 81 | 82 | // "portalnotificationconfigs" collection 83 | db.portalnotificationconfigs.dropIndexes(); 84 | db.portalnotificationconfigs.createIndex( {"_id.user":1, "_id.referenceId":1, "_id.referenceType":1}, { unique: true } ); 85 | db.portalnotificationconfigs.createIndex( {"_id.referenceId":1, "_id.referenceType":1, "hooks":1}); 86 | db.portalnotificationconfigs.reIndex(); 87 | 88 | // "genericnotificationconfigs" collection 89 | db.genericnotificationconfigs.dropIndexes(); 90 | db.genericnotificationconfigs.createIndex( {"referenceId":1, "referenceType":1, "hooks":1}); 91 | db.genericnotificationconfigs.createIndex( {"referenceId":1, "referenceType":1}); 92 | db.genericnotificationconfigs.reIndex(); 93 | -------------------------------------------------------------------------------- /favorite-file/gravitee-docker-compose/platform/nginx/ssl/gio-selfsigned.crt: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIIEpzCCA4+gAwIBAgIJALezRH6+njWDMA0GCSqGSIb3DQEBBQUAMIGTMQswCQYD 3 | VQQGEwJGUjEPMA0GA1UECBMGRlJBTkNFMQ4wDAYDVQQHEwVQYXJpczEUMBIGA1UE 4 | ChMLZ3Jhdml0ZWUuaW8xEzARBgNVBAsTCmRldmVsb3BlcnMxDTALBgNVBAMTBGcu 5 | aW8xKTAnBgkqhkiG9w0BCQEWGmNvbnRhY3RAZ3Jhdml0ZWVzb3VyY2UuY29tMB4X 6 | DTE4MDcyNDEwNTEzMVoXDTE5MDcyNDEwNTEzMVowgZMxCzAJBgNVBAYTAkZSMQ8w 7 | DQYDVQQIEwZGUkFOQ0UxDjAMBgNVBAcTBVBhcmlzMRQwEgYDVQQKEwtncmF2aXRl 8 | ZS5pbzETMBEGA1UECxMKZGV2ZWxvcGVyczENMAsGA1UEAxMEZy5pbzEpMCcGCSqG 9 | SIb3DQEJARYaY29udGFjdEBncmF2aXRlZXNvdXJjZS5jb20wggEiMA0GCSqGSIb3 10 | DQEBAQUAA4IBDwAwggEKAoIBAQCuRhiFGyVxW+7uCbzTh69cv+MBxFiKxoFV6QYB 11 | wTnwlV2aiwt/WZhAhImvE1z0ap9IbzETKjQZx6lgTgBhh1v1TQNM589HpqzCpchN 12 | UHOMjlP1rNRLQFmvvS+ELtdUaGavD2E7+BehaYyZ6MRKk5neDR+uJHLK1+3cH6yR 13 | ZmBVQXTxL0Q9cJj6BfAD7XcgDC68RXbQePnt2M0zlADHvl/c7Xd4uPE8T4LYhGWj 14 | iolip7zHgf9Pr75zkuMe2yCAA7/DPq7BLyIyEbYiXgQLqNNXtVEgfIzQSWSnd/zj 15 | ck8pryjw9Tygt9uuUYIO+dMkfGKhjjFLmtnmmNg7pqEpnT9JAgMBAAGjgfswgfgw 16 | HQYDVR0OBBYEFLWMP+J2/VGtCuLd0tuWSholcX+mMIHIBgNVHSMEgcAwgb2AFLWM 17 | P+J2/VGtCuLd0tuWSholcX+moYGZpIGWMIGTMQswCQYDVQQGEwJGUjEPMA0GA1UE 18 | CBMGRlJBTkNFMQ4wDAYDVQQHEwVQYXJpczEUMBIGA1UEChMLZ3Jhdml0ZWUuaW8x 19 | EzARBgNVBAsTCmRldmVsb3BlcnMxDTALBgNVBAMTBGcuaW8xKTAnBgkqhkiG9w0B 20 | CQEWGmNvbnRhY3RAZ3Jhdml0ZWVzb3VyY2UuY29tggkAt7NEfr6eNYMwDAYDVR0T 21 | BAUwAwEB/zANBgkqhkiG9w0BAQUFAAOCAQEASeyu/aEv34c88LoZwrTb3Ja3ACX2 22 | FgD+GAcbfdb2aso5OKEGTcPyxvjQR3sjp2hXT7t14neWV+w8aYHubjKP8jth9ET5 23 | oM32bwF/CHXA8cGsOvfNfAVzQm6UY9vn4+RZrLVIir5raBaAC53ZjrPKHhHkSVSt 24 | iSQdHgykKbjhB0TxNn6v8NbRvRqWOeXcP0k5SWeRDxtqiDwzKJJQumaM6bB7FeFU 25 | TSlJGJbjm0F3aWEOeXi1On3mqfdS29eQxKsJ4ZRbeP2mJRXQ8dyDl5cO8RoMDK3A 26 | 6xBXS83i145j7X8lojJy4dEq6kdvvosvTfjYU8A4etRnofD7IguMoGivLw== 27 | -----END CERTIFICATE----- 28 | -------------------------------------------------------------------------------- /favorite-file/gravitee-docker-compose/platform/nginx/ssl/gio-selfsigned.key: -------------------------------------------------------------------------------- 1 | -----BEGIN RSA PRIVATE KEY----- 2 | MIIEpAIBAAKCAQEArkYYhRslcVvu7gm804evXL/jAcRYisaBVekGAcE58JVdmosL 3 | f1mYQISJrxNc9GqfSG8xEyo0GcepYE4AYYdb9U0DTOfPR6aswqXITVBzjI5T9azU 4 | S0BZr70vhC7XVGhmrw9hO/gXoWmMmejESpOZ3g0friRyytft3B+skWZgVUF08S9E 5 | PXCY+gXwA+13IAwuvEV20Hj57djNM5QAx75f3O13eLjxPE+C2IRlo4qJYqe8x4H/ 6 | T6++c5LjHtsggAO/wz6uwS8iMhG2Il4EC6jTV7VRIHyM0Elkp3f843JPKa8o8PU8 7 | oLfbrlGCDvnTJHxioY4xS5rZ5pjYO6ahKZ0/SQIDAQABAoIBAQCI+03gqhLHRKTM 8 | c9j5R6ieNbHAPM3/3sHgfjYbgP8CzNTzWaGi6xCSfdsfQxAIihpDPCsNzll/fgHz 9 | UbxY7KVqbatPctHplugqY1bK9pasf18dN0jzEVStnv3PX2Yf0aQMrAEYuwwP8r/y 10 | ZhSMLfJ+qEAjiEC2kf1DzZ29+AN2XpzHbULZEH6uip7+lNsR3XCUfzm9OkHMlo+8 11 | FpuUQj4VHRuQ6cEkR/M+Q9eZiBbFGEbUmlTD08j6F5aTJgEafXcG117lN/oOcN6g 12 | ZnyQ3Pf/VOjSIly1PP0H/FGAsgWpR8OcI5MtP4YvX4LNm6p36YoY4a3H/IWc++GU 13 | THs0lxqRAoGBAOXomkp20dUwZegetENhBVOiE79PAX8P4npK7Y/3aZxNetN80t6L 14 | BjbNbkQh0ag1DTmA+DzCLfTgvdOw0USS+3qH1OUKEn67cVqduOkKfE1ACstYnXj5 15 | pFfx6XZ2CRcgGpJmf/QXakVRfigENZdG0HbZEobh35KluLa3D1IdS+k9AoGBAMIN 16 | Ky+gAm6ImeK/Gixuq6Qp2rzELIcsLqXeToKH+W44Y5qlXbnszVE9jrbi+/FwFPl6 17 | gS+APYaS4lX1wYUiTwuRbOkBjCaD4DJnNFCvRuNpFDDazgM6HPheYgZTUBxQvQBk 18 | 6/OJbwuvlg9/RuULNUlGRSzr/mPbJRtAFuqJhpb9AoGAQadR4C/cLhAbGdUizxb2 19 | qXJgR0Jtf/ZuS1P4USNrEkqB58D+irSSurWhZm1t7KXxt9kfimI9M2+2ZaxZpkZ+ 20 | 7/e4EQv2SiCG90SRGGN5Kao/KuCMX46SotafP8fnQqZVUDdbFL5XB6KE7zJ8h02e 21 | nEHS65e2+669d9gA1QcutVUCgYBKiGxR+o90jRsuMGCJOGjMwRa28lJ4CMxSATT+ 22 | heOUJix7tZBuXTnvPkmWjVBfx8EGobsE16jKC5jLk30k+ayKsOy4AlQmZvix41oA 23 | s5HyvuV2blQ6gROngfj8nPtkJM6zXBAUlnEEeAiXIzfDua5Z2pevTWWETSPPd6pV 24 | o0UCsQKBgQDEIGCz6RsKJqwqRPyuGIYu5OlmpBrKBOeYkKniHeAqM339nLkwjj2x 25 | /91snUUuEd2bd6KjLhNC86IE32aoj0wC6m53BHTd9sX4WuTDbwSsyB+4T4o0tbV5 26 | YyDsIPvtfhaZQL3XPC9zV5aeJfFtaoQ6D0vHHV9MXfsAS1M0PjFdMg== 27 | -----END RSA PRIVATE KEY----- 28 | -------------------------------------------------------------------------------- /favorite-file/gravitee-docker-compose/platform/nginx/ssl/gio.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN DH PARAMETERS----- 2 | MIIBCAKCAQEArcQ6JmuXsIlIwSjJ21MeP81D/pum44+3dSMyw9+eGU9yJgwAOBBw 3 | J3H57gM2x+8Q/VJowwgmXFOnkF4+Qtkmfjj25CO4hhHqj2Ex5mIZHMFGCKn5G3EE 4 | EW+Cri/Lh7NS2hkBbEWRQkOLqIi/e9WnOcz/06bBYixNex7FqsnK5Dj1W0AXsW+x 5 | pzo70S5u5FNG8LAN1+J5kOhXNMcwbd54jzHxQtdSlm1gA9XYQQbuTlGtRa482DNA 6 | VYlFOnUpsFllvDOkIy+Baii1s3Qqv96vZHFaZdd73wORl7R9whpDFHtGMJsrDC4U 7 | 0gj/pYnMduhciNf6EWV2evQAprhLlFlqswIBAg== 8 | -----END DH PARAMETERS----- 9 | -------------------------------------------------------------------------------- /favorite-file/gravitee-docker-compose/platform/prometheus.yml: -------------------------------------------------------------------------------- 1 | scrape_configs: 2 | - job_name: 'gio-gw' 3 | basic_auth: 4 | username: admin 5 | password: adminadmin 6 | metrics_path: /_node/metrics/prometheus 7 | static_configs: 8 | - targets: ['apim_gateway:18082'] -------------------------------------------------------------------------------- /favorite-file/redis/redis: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # redis - this script starts and stops the redis-server daemon 4 | # 5 | # chkconfig: - 85 15 6 | # description: Redis is a persistent key-value database 7 | # processname: redis-server 8 | # config: /usr/local/redis-2.4.X/bin/redis-server 9 | # config: /usr/local/ /redis-2.4.X/etc/redis.conf 10 | # Source function library. 11 | . /etc/rc.d/init.d/functions 12 | # Source networking configuration. 13 | . /etc/sysconfig/network 14 | # Check that networking is up. 15 | [ "$NETWORKING" = "no" ] && exit 0 16 | redis="/usr/local/bin/redis-server" 17 | prog=$(basename $redis) 18 | REDIS_CONF_FILE="/etc/redis.conf" 19 | [ -f /etc/sysconfig/redis ] && . /etc/sysconfig/redis 20 | lockfile=/var/lock/subsys/redis 21 | start() { 22 | [ -x $redis ] || exit 5 23 | [ -f $REDIS_CONF_FILE ] || exit 6 24 | echo -n $"Starting $prog: " 25 | daemon $redis $REDIS_CONF_FILE 26 | retval=$? 27 | echo 28 | [ $retval -eq 0 ] && touch $lockfile 29 | return $retval 30 | } 31 | stop() { 32 | echo -n $"Stopping $prog: " 33 | killproc $prog -QUIT 34 | retval=$? 35 | echo 36 | [ $retval -eq 0 ] && rm -f $lockfile 37 | return $retval 38 | } 39 | restart() { 40 | stop 41 | start 42 | } 43 | reload() { 44 | echo -n $"Reloading $prog: " 45 | killproc $redis -HUP 46 | RETVAL=$? 47 | echo 48 | } 49 | force_reload() { 50 | restart 51 | } 52 | rh_status() { 53 | status $prog 54 | } 55 | rh_status_q() { 56 | rh_status >/dev/null 2>&1 57 | } 58 | case "$1" in 59 | start) 60 | rh_status_q && exit 0 61 | $1 62 | ;; 63 | stop) 64 | rh_status_q || exit 0 65 | $1 66 | ;; 67 | restart|configtest) 68 | $1 69 | ;; 70 | reload) 71 | rh_status_q || exit 7 72 | $1 73 | ;; 74 | force-reload) 75 | force_reload 76 | ;; 77 | status) 78 | rh_status 79 | ;; 80 | condrestart|try-restart) 81 | rh_status_q || exit 0 82 | ;; 83 | *) 84 | echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart| reload|orce-reload}" 85 | exit 2 86 | esac -------------------------------------------------------------------------------- /favorite-file/shell/crontab-redis-restart.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | redis-cli -h 127.0.0.1 -p 6379 -a 123456789 shutdown 4 | 5 | sleep 5s 6 | 7 | /usr/local/bin/redis-server /etc/redis.conf 8 | 9 | 10 | -------------------------------------------------------------------------------- /favorite-file/shell/crontab-test.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | time1=$(date "+%Y-%m-%d %H:%M:%S") 4 | 5 | echo "${time1}" >> /opt/1.txt 6 | 7 | sleep 5s 8 | 9 | time2=$(date "+%Y-%m-%d %H:%M:%S") 10 | 11 | echo "${time2}" >> /opt/1.txt 12 | -------------------------------------------------------------------------------- /favorite-file/shell/install_common_tool_CentOS.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | echo "开始常用工具安装" 4 | 5 | yum install -y zip unzip lrzsz git epel-release wget htop deltarpm 6 | 7 | echo "开始常用工具结束" -------------------------------------------------------------------------------- /favorite-file/shell/install_common_tool_ubuntu.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | echo "开始常用工具安装" 4 | 5 | sudo apt-get install -y zip unzip unrar lrzsz git wget htop 6 | 7 | echo "开始常用工具结束" -------------------------------------------------------------------------------- /favorite-file/shell/install_common_vim.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | 4 | echo "-----------------------------------------开始常用工具安装" 5 | yum install -y zip unzip lrzsz git epel-release 6 | 7 | echo "-----------------------------------------开始安装 vim" 8 | yum install -y vim 9 | 10 | echo "-----------------------------------------设置 vim 配置" 11 | curl https://raw.githubusercontent.com/wklken/vim-for-server/master/vimrc > ~/.vimrc 12 | 13 | -------------------------------------------------------------------------------- /favorite-file/shell/install_common_vim_zsh.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | echo "-----------------------------------------禁用防火墙" 4 | systemctl stop firewalld.service 5 | systemctl disable firewalld.service 6 | 7 | echo "-----------------------------------------开始常用工具安装" 8 | yum install -y zip unzip lrzsz git epel-release 9 | 10 | echo "-----------------------------------------开始常用工具结束" 11 | echo "-----------------------------------------开始安装 zsh" 12 | yum install -y zsh 13 | 14 | echo "-----------------------------------------开始安装 oh-my-zsh" 15 | wget https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O - | sh 16 | 17 | echo "-----------------------------------------设置默认终端为 oh-my-zsh" 18 | chsh -s /bin/zsh root 19 | 20 | 21 | echo "-----------------------------------------开始安装 vim" 22 | yum install -y vim 23 | 24 | echo "-----------------------------------------设置 vim 配置" 25 | curl https://raw.githubusercontent.com/wklken/vim-for-server/master/vimrc > ~/.vimrc 26 | 27 | -------------------------------------------------------------------------------- /favorite-file/shell/install_docker_centos7.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | echo "安装 docker 所需环境" 4 | 5 | yum install -y yum-utils device-mapper-persistent-data lvm2 6 | 7 | echo "添加 repo(可能网络会很慢,有时候会报:Timeout,所以要多试几次)" 8 | 9 | yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo 10 | yum makecache fast 11 | 12 | echo "开始安装 docker" 13 | 14 | yum install -y docker-ce 15 | 16 | echo "启动 Docker" 17 | 18 | systemctl start docker.service 19 | 20 | echo "安装结束" 21 | 22 | echo "运行 hello world 镜像" 23 | 24 | docker run hello-world 25 | 26 | 27 | echo "安装 docker compose" 28 | 29 | curl -L https://github.com/docker/compose/releases/download/1.18.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose 30 | 31 | chmod +x /usr/local/bin/docker-compose 32 | 33 | echo "输出 docker compose 版本号" 34 | 35 | docker-compose --version 36 | systemctl restart docker.service 37 | systemctl enable docker.service -------------------------------------------------------------------------------- /favorite-file/shell/install_docker_disable_firewalld_centos7-aliyun.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | echo "-----------------------------------------禁用防火墙" 4 | systemctl stop firewalld.service 5 | systemctl disable firewalld.service 6 | 7 | echo "-----------------------------------------安装 docker 所需环境" 8 | 9 | yum install -y yum-utils device-mapper-persistent-data lvm2 10 | 11 | echo "-----------------------------------------添加 repo(可能网络会很慢,有时候会报:Timeout,所以要多试几次)" 12 | echo "-----------------------------------------官网的地址 yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo" 13 | echo "-----------------------------------------这里用阿里云进行加速,不然可能会出现无法安装,阿里云官网说明:https://help.aliyun.com/document_detail/60742.html" 14 | 15 | yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo 16 | yum makecache fast 17 | 18 | echo "-----------------------------------------开始安装 docker" 19 | 20 | yum install -y docker-ce 21 | 22 | echo "-----------------------------------------启动 Docker" 23 | 24 | systemctl start docker.service 25 | 26 | echo "-----------------------------------------安装结束" 27 | 28 | echo "-----------------------------------------docker 加速" 29 | 30 | touch /etc/docker/daemon.json 31 | 32 | cat << EOF >> /etc/docker/daemon.json 33 | { 34 | "registry-mirrors": ["https://ldhc17y9.mirror.aliyuncs.com"] 35 | } 36 | EOF 37 | 38 | systemctl daemon-reload 39 | systemctl restart docker 40 | 41 | echo "-----------------------------------------运行 hello world 镜像" 42 | 43 | docker run hello-world 44 | 45 | echo "-----------------------------------------安装 docker compose" 46 | echo "docker compose 的版本检查:https://docs.docker.com/compose/install/#install-compose" 47 | 48 | curl -L "https://github.com/docker/compose/releases/download/1.23.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose 49 | 50 | chmod +x /usr/local/bin/docker-compose 51 | 52 | echo "-----------------------------------------输出 docker compose 版本号" 53 | 54 | docker-compose --version 55 | 56 | 57 | 58 | 59 | -------------------------------------------------------------------------------- /favorite-file/shell/install_docker_disable_firewalld_centos7.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | echo "-----------------------------------------禁用防火墙" 4 | systemctl stop firewalld.service 5 | systemctl disable firewalld.service 6 | 7 | 8 | echo "-----------------------------------------安装 docker 所需环境" 9 | 10 | yum install -y yum-utils device-mapper-persistent-data lvm2 11 | 12 | echo "-----------------------------------------添加 repo(可能网络会很慢,有时候会报:Timeout,所以要多试几次)" 13 | 14 | yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo 15 | yum makecache fast 16 | 17 | echo "-----------------------------------------开始安装 docker" 18 | 19 | yum install -y docker-ce 20 | 21 | echo "-----------------------------------------启动 Docker" 22 | 23 | systemctl start docker.service 24 | 25 | echo "-----------------------------------------安装结束" 26 | 27 | echo "-----------------------------------------运行 hello world 镜像" 28 | 29 | docker run hello-world 30 | 31 | echo "-----------------------------------------安装 docker compose" 32 | echo "docker compose 的版本检查:https://docs.docker.com/compose/install/#install-compose" 33 | 34 | curl -L https://github.com/docker/compose/releases/download/1.21.2/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose 35 | 36 | chmod +x /usr/local/bin/docker-compose 37 | 38 | echo "-----------------------------------------输出 docker compose 版本号" 39 | 40 | docker-compose --version 41 | systemctl restart docker.service 42 | systemctl enable docker.service 43 | 44 | 45 | 46 | -------------------------------------------------------------------------------- /favorite-file/shell/install_docker_k8s_disable_firewalld_centos7-aliyun.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | echo "-----------------------------------------禁用防火墙" 4 | systemctl stop firewalld.service 5 | systemctl disable firewalld.service 6 | 7 | echo "-----------------------------------------安装 docker 所需环境" 8 | 9 | yum install -y yum-utils device-mapper-persistent-data lvm2 10 | 11 | echo "-----------------------------------------添加 repo(可能网络会很慢,有时候会报:Timeout,所以要多试几次)" 12 | echo "-----------------------------------------官网的地址 yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo" 13 | echo "-----------------------------------------这里用阿里云进行加速,不然可能会出现无法安装,阿里云官网说明:https://help.aliyun.com/document_detail/60742.html" 14 | 15 | yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo 16 | yum makecache fast 17 | 18 | echo "-----------------------------------------开始安装 docker" 19 | 20 | yum install -y docker-ce-18.06.1.ce-3.el7 21 | 22 | echo "-----------------------------------------启动 Docker" 23 | 24 | systemctl start docker.service 25 | systemctl enable docker.service 26 | 27 | echo "-----------------------------------------安装结束" 28 | 29 | echo "-----------------------------------------docker 加速" 30 | 31 | touch /etc/docker/daemon.json 32 | 33 | cat << EOF >> /etc/docker/daemon.json 34 | { 35 | "registry-mirrors": ["https://ldhc17y9.mirror.aliyuncs.com"] 36 | } 37 | EOF 38 | 39 | systemctl daemon-reload 40 | systemctl restart docker 41 | 42 | echo "-----------------------------------------运行 hello world 镜像" 43 | 44 | docker run hello-world 45 | 46 | 47 | 48 | 49 | 50 | -------------------------------------------------------------------------------- /favorite-file/shell/install_jdk_offline_to_bash.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | echo "判断常见的文件夹是否存在" 4 | 5 | if [ ! -d "/opt/setups" ]; then 6 | mkdir /opt/setups 7 | fi 8 | 9 | echo "判断 JDK 压缩包是否存在" 10 | 11 | if [ ! -f "/opt/setups/jdk-8u181-linux-x64.tar.gz" ]; then 12 | echo "JDK 压缩包不存在" 13 | exit 1 14 | fi 15 | 16 | echo "开始解压 JDK" 17 | cd /opt/setups ; tar -zxf jdk-8u181-linux-x64.tar.gz 18 | 19 | if [ ! -d "/opt/setups/jdk1.8.0_181" ]; then 20 | echo "JDK 解压失败,结束脚本" 21 | exit 1 22 | fi 23 | 24 | echo "JDK 解压包移到 /usr/local/ 目录下" 25 | mv jdk1.8.0_181/ /usr/local/ 26 | 27 | echo "JDK 写入系统变量到 profile" 28 | 29 | cat << EOF >> /etc/profile 30 | 31 | # JDK 32 | JAVA_HOME=/usr/local/jdk1.8.0_181 33 | JRE_HOME=\$JAVA_HOME/jre 34 | PATH=\$PATH:\$JAVA_HOME/bin 35 | CLASSPATH=.:\$JAVA_HOME/lib/dt.jar:\$JAVA_HOME/lib/tools.jar 36 | export JAVA_HOME 37 | export JRE_HOME 38 | export PATH 39 | export CLASSPATH 40 | 41 | EOF 42 | 43 | 44 | echo "JDK 设置完成,需要你手动设置:source /etc/profile" -------------------------------------------------------------------------------- /favorite-file/shell/install_jdk_offline_to_zsh.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | echo "判断常见的文件夹是否存在" 4 | 5 | if [ ! -d "/opt/setups" ]; then 6 | mkdir /opt/setups 7 | fi 8 | 9 | echo "判断 JDK 压缩包是否存在" 10 | 11 | if [ ! -f "/opt/setups/jdk-8u191-linux-x64.tar.gz" ]; then 12 | echo "JDK 压缩包不存在" 13 | exit 1 14 | fi 15 | 16 | echo "开始解压 JDK" 17 | cd /opt/setups ; tar -zxf jdk-8u191-linux-x64.tar.gz 18 | 19 | if [ ! -d "/opt/setups/jdk1.8.0_191" ]; then 20 | echo "JDK 解压失败,结束脚本" 21 | exit 1 22 | fi 23 | 24 | echo "JDK 解压包移到 /usr/local/ 目录下" 25 | mv jdk1.8.0_191/ /usr/local/ 26 | 27 | echo "JDK 写入系统变量到 zshrc" 28 | 29 | cat << EOF >> ~/.zshrc 30 | 31 | # JDK 32 | JAVA_HOME=/usr/local/jdk1.8.0_191 33 | JRE_HOME=\$JAVA_HOME/jre 34 | PATH=\$PATH:\$JAVA_HOME/bin 35 | CLASSPATH=.:\$JAVA_HOME/lib/dt.jar:\$JAVA_HOME/lib/tools.jar 36 | export JAVA_HOME 37 | export JRE_HOME 38 | export PATH 39 | export CLASSPATH 40 | 41 | EOF 42 | 43 | 44 | echo "JDK 设置完成,需要你手动设置:source ~/.zshrc" -------------------------------------------------------------------------------- /favorite-file/shell/install_jdk_online.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | echo "判断常见的文件夹是否存在" 4 | 5 | if [ ! -d "/opt/setups" ]; then 6 | mkdir /opt/setups 7 | fi 8 | 9 | if [ ! -d "/usr/program" ]; then 10 | mkdir /usr/program 11 | fi 12 | 13 | echo "下载 JDK" 14 | 15 | cd /opt/setups 16 | wget -c --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u151-b12/e758a0de34e24606bca991d704f6dcbf/jdk-8u151-linux-x64.tar.gz 17 | 18 | if [ ! -f "/opt/setups/jdk-8u151-linux-x64.tar.gz" ]; then 19 | echo "JDK 下载失败,结束脚本" 20 | exit 1 21 | fi 22 | 23 | echo "JDK 下载成功,开始解压 JDK" 24 | tar -zxf jdk-8u151-linux-x64.tar.gz 25 | 26 | if [ ! -d "/opt/setups/jdk1.8.0_151" ]; then 27 | echo "JDK 解压失败,结束脚本" 28 | exit 1 29 | fi 30 | 31 | echo "JDK 解压包移到 /usr/program/ 目录下" 32 | mv jdk1.8.0_151/ /usr/program/ 33 | 34 | echo "JDK 写入系统变量到 zshrc" 35 | 36 | cat << EOF >> ~/.zshrc 37 | 38 | # JDK 39 | JAVA_HOME=/usr/local/jdk1.8.0_151 40 | JRE_HOME=\$JAVA_HOME/jre 41 | PATH=\$PATH:\$JAVA_HOME/bin 42 | CLASSPATH=.:\$JAVA_HOME/lib/dt.jar:\$JAVA_HOME/lib/tools.jar 43 | export JAVA_HOME 44 | export JRE_HOME 45 | export PATH 46 | export CLASSPATH 47 | EOF 48 | 49 | echo "JDK 设置完成,需要你手动设置:source ~/.zshrc" -------------------------------------------------------------------------------- /favorite-file/shell/install_maven_offline_to_bash.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | echo "判断常见的文件夹是否存在" 4 | 5 | if [ ! -d "/opt/setups" ]; then 6 | mkdir /opt/setups 7 | fi 8 | 9 | echo "判断 Maven 压缩包是否存在" 10 | 11 | if [ ! -f "/opt/setups/apache-maven-3.5.4-bin.tar.gz" ]; then 12 | echo "Maven 压缩包不存在" 13 | exit 1 14 | fi 15 | 16 | echo "开始解压 Maven" 17 | cd /opt/setups ; tar -zxf apache-maven-3.5.4-bin.tar.gz 18 | 19 | if [ ! -d "/opt/setups/apache-maven-3.5.4" ]; then 20 | echo "Maven 解压失败,结束脚本" 21 | exit 1 22 | fi 23 | 24 | echo "Maven 解压包移到 /usr/local/ 目录下" 25 | mv apache-maven-3.5.4/ /usr/local/ 26 | 27 | echo "Maven 写入系统变量到 profile" 28 | 29 | cat << EOF >> /etc/profile 30 | 31 | # Maven 32 | M3_HOME=/usr/local/apache-maven-3.5.4 33 | MAVEN_HOME=/usr/local/apache-maven-3.5.4 34 | PATH=\$PATH:\$M3_HOME/bin 35 | MAVEN_OPTS="-Xms256m -Xmx356m" 36 | export M3_HOME 37 | export MAVEN_HOME 38 | export PATH 39 | export MAVEN_OPTS 40 | 41 | EOF 42 | 43 | 44 | echo "Maven 设置完成,需要你手动设置:source /etc/profile" -------------------------------------------------------------------------------- /favorite-file/shell/install_maven_offline_to_zsh.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | echo "判断常见的文件夹是否存在" 4 | 5 | if [ ! -d "/opt/setups" ]; then 6 | mkdir /opt/setups 7 | fi 8 | 9 | echo "判断 Maven 压缩包是否存在" 10 | 11 | if [ ! -f "/opt/setups/apache-maven-3.5.4-bin.tar.gz" ]; then 12 | echo "Maven 压缩包不存在" 13 | exit 1 14 | fi 15 | 16 | echo "开始解压 Maven" 17 | cd /opt/setups ; tar -zxf apache-maven-3.5.4-bin.tar.gz 18 | 19 | if [ ! -d "/opt/setups/apache-maven-3.5.4" ]; then 20 | echo "Maven 解压失败,结束脚本" 21 | exit 1 22 | fi 23 | 24 | echo "Maven 解压包移到 /usr/local/ 目录下" 25 | mv apache-maven-3.5.4/ /usr/local/ 26 | 27 | echo "Maven 写入系统变量到 zshrc" 28 | 29 | cat << EOF >> ~/.zshrc 30 | 31 | # Maven 32 | M3_HOME=/usr/local/apache-maven-3.5.4 33 | MAVEN_HOME=/usr/local/apache-maven-3.5.4 34 | PATH=\$PATH:\$M3_HOME/bin 35 | MAVEN_OPTS="-Xms256m -Xmx356m" 36 | export M3_HOME 37 | export MAVEN_HOME 38 | export PATH 39 | export MAVEN_OPTS 40 | 41 | EOF 42 | 43 | 44 | echo "Maven 设置完成,需要你手动设置:source ~/.zshrc" -------------------------------------------------------------------------------- /favorite-file/shell/install_mycat_offline.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | echo "判断常见的文件夹是否存在" 4 | 5 | if [ ! -d "/opt/setups" ]; then 6 | mkdir /opt/setups 7 | fi 8 | 9 | echo "判断是否有 JDK 环境" 10 | 11 | if [ -z $JAVA_HOME ];then 12 | echo "没有 JAVA_HOME 环境变量" 13 | exit 1 14 | fi 15 | 16 | echo "判断 /opt 目录下 mycat 压缩包是否存在" 17 | 18 | if [ ! -f "/opt/setups/Mycat-server-1.6-RELEASE-20161028204710-linux.tar.gz" ]; then 19 | echo "mycat 压缩包是否存在不存在" 20 | exit 1 21 | fi 22 | 23 | echo "解压压缩包" 24 | 25 | cd /opt/setups ; tar -zxf Mycat-server-1.6-RELEASE-20161028204710-linux.tar.gz 26 | 27 | echo "把解压后目录移到 /usr/local/ 目录下" 28 | mv /opt/setups/mycat /usr/local/ 29 | 30 | echo "写入系统变量到 zshrc" 31 | 32 | echo 'MYCAT_HOME=/usr/local/mycat' >> ~/.zshrc 33 | echo 'PATH=$PATH:$MYCAT_HOME/bin' >> ~/.zshrc 34 | echo 'export MYCAT_HOME' >> ~/.zshrc 35 | echo 'export PATH' >> ~/.zshrc 36 | echo "mycat 设置完成,需要你手动设置:source ~/.zshrc" 37 | 38 | 39 | -------------------------------------------------------------------------------- /favorite-file/shell/install_mysql5.6_offline_centos6.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | echo "安装 mysql 开始" 4 | 5 | cd /opt/setups 6 | 7 | tar zxvf mysql-5.6.35.tar.gz 8 | 9 | mv /opt/setups/mysql-5.6.35 /usr/program/ 10 | 11 | yum install -y make gcc-c++ cmake bison-devel ncurses-devel 12 | 13 | cd /usr/program/mysql-5.6.35/ 14 | 15 | mkdir -p /usr/program/mysql/data 16 | 17 | cmake -DCMAKE_INSTALL_PREFIX=/usr/program/mysql -DMYSQL_DATADIR=/usr/program/mysql/data -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS:STRING=utf8 -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DENABLED_LOCAL_INFILE=1 18 | 19 | make 20 | 21 | make install 22 | 23 | cp /usr/program/mysql-5.6.35/support-files/mysql.server /etc/init.d/mysql 24 | 25 | chmod 755 /etc/init.d/mysql 26 | 27 | chkconfig mysql on 28 | 29 | cp /usr/program/mysql-5.6.35/support-files/my-default.cnf /etc/my.cnf 30 | 31 | rm -rf /usr/program/mysql-5.6.35/ 32 | 33 | groupadd mysql 34 | 35 | useradd -g mysql mysql -s /bin/false 36 | 37 | chown -R mysql:mysql /usr/program/mysql/data 38 | 39 | /usr/program/mysql/scripts/mysql_install_db --basedir=/usr/program/mysql --datadir=/usr/program/mysql/data --skip-name-resolve --user=mysql 40 | 41 | ln -s /usr/program/mysql/bin/mysql /usr/bin 42 | 43 | ln -s /usr/program/mysql/bin/mysqladmin /usr/bin 44 | 45 | ln -s /usr/program/mysql/bin/mysqldump /usr/bin 46 | 47 | ln -s /usr/program/mysql/bin/mysqlslap /usr/bin 48 | 49 | iptables -I INPUT -p tcp -m tcp --dport 3306 -j ACCEPT 50 | 51 | service iptables save 52 | 53 | service iptables restart 54 | 55 | echo "安装 mysql 结束,现在需要手动设置防火墙和禁用 selinux." -------------------------------------------------------------------------------- /favorite-file/shell/install_mysql5.6_offline_centos7.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | echo "安装 mysql 开始" 4 | 5 | echo "判断常见的文件夹是否存在" 6 | 7 | if [ ! -d "/opt/setups" ]; then 8 | mkdir /opt/setups 9 | fi 10 | 11 | echo "判断 JDK 压缩包是否存在" 12 | 13 | if [ ! -f "/opt/setups/mysql-5.6.35.tar.gz" ]; then 14 | echo "mysql 压缩包不存在" 15 | exit 1 16 | fi 17 | 18 | cd /opt/setups 19 | 20 | tar zxvf mysql-5.6.35.tar.gz 21 | 22 | mv /opt/setups/mysql-5.6.35 /usr/local/ 23 | 24 | yum install -y make gcc-c++ cmake bison-devel ncurses-devel autoconf 25 | 26 | cd /usr/local/mysql-5.6.35/ 27 | 28 | mkdir -p /usr/local/mysql/data 29 | 30 | cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS:STRING=utf8 -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DENABLED_LOCAL_INFILE=1 31 | 32 | make 33 | 34 | make install 35 | 36 | cp /usr/local/mysql-5.6.35/support-files/mysql.server /etc/init.d/mysql 37 | 38 | chmod 755 /etc/init.d/mysql 39 | 40 | chkconfig mysql on 41 | 42 | cp /usr/local/mysql-5.6.35/support-files/my-default.cnf /etc/my.cnf 43 | 44 | rm -rf /usr/local/mysql-5.6.35/ 45 | 46 | groupadd mysql 47 | 48 | useradd -g mysql mysql -s /bin/false 49 | 50 | chown -R mysql:mysql /usr/local/mysql/data 51 | 52 | /usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --skip-name-resolve --user=mysql 53 | 54 | ln -s /usr/local/mysql/bin/mysql /usr/bin 55 | 56 | ln -s /usr/local/mysql/bin/mysqladmin /usr/bin 57 | 58 | ln -s /usr/local/mysql/bin/mysqldump /usr/bin 59 | 60 | ln -s /usr/local/mysql/bin/mysqlslap /usr/bin 61 | 62 | echo "防火墙放行 3306 端口" 63 | systemctl restart firewalld.service 64 | firewall-cmd --zone=public --add-port=3306/tcp --permanent 65 | firewall-cmd --reload 66 | systemctl stop firewalld.service 67 | 68 | echo "安装 mysql 结束,现在需要手动设置防火墙和禁用 selinux." -------------------------------------------------------------------------------- /favorite-file/shell/install_mysql5.7_offline_centos7.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | echo "安装 mysql 开始" 4 | echo "必须准备两个文件:mysql-5.7.21.tar.gz 和 boost_1_59_0.tar.gz" 5 | echo "mysql 5.7 依赖 boost,官网说明:https://dev.mysql.com/doc/mysql-sourcebuild-excerpt/5.7/en/source-installation.html" 6 | echo "boost 下载地址(79M):http://www.boost.org/users/history/version_1_59_0.html" 7 | 8 | if [ ! -f "/opt/setups/mysql-5.7.21.tar.gz" ]; then 9 | echo "缺少 mysql-5.7.21.tar.gz 文件,结束脚本" 10 | exit 1 11 | fi 12 | 13 | if [ ! -f "/opt/setups/boost_1_59_0.tar.gz" ]; then 14 | echo "缺少 boost_1_59_0.tar.gz 文件,结束脚本" 15 | exit 1 16 | fi 17 | 18 | cd /opt/setups 19 | 20 | tar zxvf mysql-5.7.21.tar.gz 21 | 22 | mv /opt/setups/mysql-5.7.21 /usr/local/ 23 | 24 | tar zxvf boost_1_59_0.tar.gz 25 | 26 | mv /opt/setups/boost_1_59_0 /usr/local/ 27 | 28 | yum install -y make gcc-c++ cmake bison-devel ncurses-devel 29 | 30 | cd /usr/local/mysql-5.7.21/ 31 | 32 | mkdir -p /usr/local/mysql/data 33 | 34 | cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DWITH_BOOST=/usr/local/boost_1_59_0 -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS:STRING=utf8 -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DENABLED_LOCAL_INFILE=1 35 | 36 | make 37 | 38 | make install 39 | 40 | cp /usr/local/mysql-5.7.21/support-files/mysql.server /etc/init.d/mysql 41 | 42 | chmod 755 /etc/init.d/mysql 43 | 44 | chkconfig mysql on 45 | 46 | echo "mysql 5.7 这个文件没了,需要自己创建一个" 47 | 48 | cp /usr/local/mysql-5.7.21/support-files/my-default.cnf /etc/my.cnf 49 | 50 | rm -rf /usr/local/mysql-5.7.21/ 51 | 52 | groupadd mysql 53 | 54 | useradd -g mysql mysql -s /bin/false 55 | 56 | chown -R mysql:mysql /usr/local/mysql/data 57 | 58 | /usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --skip-name-resolve --user=mysql 59 | 60 | ln -s /usr/local/mysql/bin/mysql /usr/bin 61 | 62 | ln -s /usr/local/mysql/bin/mysqladmin /usr/bin 63 | 64 | ln -s /usr/local/mysql/bin/mysqldump /usr/bin 65 | 66 | ln -s /usr/local/mysql/bin/mysqlslap /usr/bin 67 | 68 | echo "防火墙放行 3306 端口" 69 | systemctl restart firewalld.service 70 | firewall-cmd --zone=public --add-port=3306/tcp --permanent 71 | firewall-cmd --reload 72 | systemctl stop firewalld.service 73 | 74 | echo "安装 mysql 结束,现在需要手动设置防火墙和禁用 selinux." -------------------------------------------------------------------------------- /favorite-file/shell/install_nginx_centos6.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | 4 | echo "安装 nginx" 5 | echo "判断常见的文件夹是否存在" 6 | 7 | if [ ! -d "/opt/setups" ]; then 8 | mkdir /opt/setups 9 | fi 10 | 11 | if [ ! -d "/usr/program" ]; then 12 | mkdir /usr/program 13 | fi 14 | 15 | if [ ! -d "/usr/local/nginx" ]; then 16 | mkdir -p /usr/local/nginx 17 | fi 18 | 19 | if [ ! -d "/var/log/nginx" ]; then 20 | mkdir -p /var/log/nginx 21 | fi 22 | 23 | if [ ! -d "/var/temp/nginx" ]; then 24 | mkdir -p /var/temp/nginx 25 | fi 26 | 27 | if [ ! -d "/var/lock/nginx" ]; then 28 | mkdir -p /var/lock/nginx 29 | fi 30 | 31 | echo "下载 Nginx" 32 | 33 | cd /opt/setups 34 | wget https://nginx.org/download/nginx-1.12.2.tar.gz 35 | 36 | if [ ! -f "/opt/setups/nginx-1.12.2.tar.gz" ]; then 37 | echo "Nginx 下载失败,结束脚本" 38 | exit 1 39 | fi 40 | 41 | echo "Nginx 下载成功,开始解压 Nginx" 42 | tar -zxf nginx-1.12.2.tar.gz 43 | 44 | if [ ! -d "/opt/setups/nginx-1.12.2" ]; then 45 | echo "Nginx 解压失败,结束脚本" 46 | exit 1 47 | fi 48 | 49 | echo "安装源码安装依赖" 50 | yum install -y gcc gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel 51 | 52 | echo "开始安装 Nginx" 53 | cd nginx-1.12.2/ 54 | 55 | ./configure --prefix=/usr/local/nginx --pid-path=/var/local/nginx/nginx.pid --lock-path=/var/lock/nginx/nginx.lock --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --with-http_gzip_static_module --http-client-body-temp-path=/var/temp/nginx/client --http-proxy-temp-path=/var/temp/nginx/proxy --http-fastcgi-temp-path=/var/temp/nginx/fastcgi --http-uwsgi-temp-path=/var/temp/nginx/uwsgi --with-http_ssl_module --http-scgi-temp-path=/var/temp/nginx/scgi 56 | make 57 | make install 58 | 59 | echo "防火墙放行 80 端口" 60 | iptables -I INPUT -p tcp -m tcp --dport 80 -j ACCEPT 61 | service iptables save 62 | service iptables restart 63 | 64 | echo "启动 Nginx" 65 | /usr/local/nginx/sbin/nginx 66 | -------------------------------------------------------------------------------- /favorite-file/shell/install_nginx_centos7.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | 4 | echo "安装 nginx" 5 | echo "判断常见的文件夹是否存在" 6 | 7 | if [ ! -d "/opt/setups" ]; then 8 | mkdir /opt/setups 9 | fi 10 | 11 | if [ ! -d "/usr/local/nginx" ]; then 12 | mkdir -p /usr/local/nginx 13 | fi 14 | 15 | if [ ! -d "/var/log/nginx" ]; then 16 | mkdir -p /var/log/nginx 17 | fi 18 | 19 | if [ ! -d "/var/temp/nginx" ]; then 20 | mkdir -p /var/temp/nginx 21 | fi 22 | 23 | if [ ! -d "/var/lock/nginx" ]; then 24 | mkdir -p /var/lock/nginx 25 | fi 26 | 27 | echo "下载 Nginx" 28 | 29 | cd /opt/setups 30 | wget https://nginx.org/download/nginx-1.14.0.tar.gz 31 | 32 | if [ ! -f "/opt/setups/nginx-1.14.0.tar.gz" ]; then 33 | echo "Nginx 下载失败,结束脚本" 34 | exit 1 35 | fi 36 | 37 | echo "Nginx 下载成功,开始解压 Nginx" 38 | tar -zxf nginx-1.14.0.tar.gz 39 | 40 | if [ ! -d "/opt/setups/nginx-1.14.0" ]; then 41 | echo "Nginx 解压失败,结束脚本" 42 | exit 1 43 | fi 44 | 45 | echo "安装源码安装依赖" 46 | yum install -y gcc gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel 47 | 48 | echo "开始安装 Nginx" 49 | cd nginx-1.14.0/ 50 | 51 | ./configure --prefix=/usr/local/nginx --pid-path=/var/local/nginx/nginx.pid --lock-path=/var/lock/nginx/nginx.lock --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --with-http_gzip_static_module --http-client-body-temp-path=/var/temp/nginx/client --http-proxy-temp-path=/var/temp/nginx/proxy --http-fastcgi-temp-path=/var/temp/nginx/fastcgi --http-uwsgi-temp-path=/var/temp/nginx/uwsgi --with-http_ssl_module --http-scgi-temp-path=/var/temp/nginx/scgi 52 | make 53 | make install 54 | 55 | echo "防火墙放行 80 端口" 56 | systemctl restart firewalld.service 57 | firewall-cmd --zone=public --add-port=80/tcp --permanent 58 | firewall-cmd --reload 59 | systemctl restart firewalld.service 60 | 61 | echo "启动 Nginx" 62 | /usr/local/nginx/sbin/nginx 63 | -------------------------------------------------------------------------------- /favorite-file/shell/install_redis_centos6.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | echo "安装 redis" 4 | echo "判断常见的文件夹是否存在" 5 | 6 | if [ ! -d "/opt/setups" ]; then 7 | mkdir /opt/setups 8 | fi 9 | 10 | if [ ! -d "/usr/program" ]; then 11 | mkdir /usr/program 12 | fi 13 | 14 | echo "下载 redis" 15 | 16 | cd /opt/setups 17 | wget http://download.redis.io/releases/redis-4.0.6.tar.gz 18 | 19 | if [ ! -f "/opt/setups/redis-4.0.6.tar.gz" ]; then 20 | echo "redis 下载失败,结束脚本" 21 | exit 1 22 | fi 23 | 24 | echo "reids 下载成功" 25 | 26 | 27 | echo "安装开始" 28 | 29 | yum install -y gcc-c++ tcl 30 | 31 | cd /opt/setups 32 | 33 | tar zxvf redis-4.0.6.tar.gz 34 | 35 | if [ ! -d "/opt/setups/redis-4.0.6" ]; then 36 | echo "redis 解压失败,结束脚本" 37 | exit 1 38 | fi 39 | 40 | mv redis-4.0.6/ /usr/program/ 41 | 42 | cd /usr/program/redis-4.0.6 43 | 44 | make 45 | 46 | make install 47 | 48 | cp /usr/program/redis-4.0.6/redis.conf /etc/ 49 | 50 | sed -i 's/daemonize no/daemonize yes/g' /etc/redis.conf 51 | 52 | echo "/usr/local/bin/redis-server /etc/redis.conf" >> /etc/rc.local 53 | 54 | iptables -I INPUT -p tcp -m tcp --dport 6379 -j ACCEPT 55 | 56 | service iptables save 57 | 58 | service iptables restart 59 | 60 | rm -rf /usr/program/redis-4.0.6 61 | 62 | echo "安装结束" 63 | -------------------------------------------------------------------------------- /favorite-file/shell/install_redis_centos7.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | echo "安装 redis" 4 | echo "判断常见的文件夹是否存在" 5 | 6 | if [ ! -d "/opt/setups" ]; then 7 | mkdir /opt/setups 8 | fi 9 | 10 | echo "下载 redis" 11 | 12 | cd /opt/setups 13 | wget http://download.redis.io/releases/redis-4.0.6.tar.gz 14 | 15 | if [ ! -f "/opt/setups/redis-4.0.6.tar.gz" ]; then 16 | echo "redis 下载失败,结束脚本" 17 | exit 1 18 | fi 19 | 20 | echo "reids 下载成功" 21 | 22 | 23 | echo "安装开始" 24 | 25 | yum install -y gcc-c++ tcl 26 | 27 | cd /opt/setups 28 | 29 | tar zxvf redis-4.0.6.tar.gz 30 | 31 | if [ ! -d "/opt/setups/redis-4.0.6" ]; then 32 | echo "redis 解压失败,结束脚本" 33 | exit 1 34 | fi 35 | 36 | mv redis-4.0.6/ /usr/local/ 37 | 38 | cd /usr/local/redis-4.0.6 39 | 40 | make 41 | 42 | make install 43 | 44 | cp /usr/local/redis-4.0.6/redis.conf /etc/ 45 | 46 | sed -i 's/daemonize no/daemonize yes/g' /etc/redis.conf 47 | 48 | echo "/usr/local/bin/redis-server /etc/redis.conf" >> /etc/rc.local 49 | 50 | echo "防火墙放行 6379 端口" 51 | firewall-cmd --zone=public --add-port=6379/tcp --permanent 52 | firewall-cmd --reload 53 | 54 | rm -rf /usr/local/redis-4.0.6 55 | 56 | echo "安装结束" 57 | -------------------------------------------------------------------------------- /favorite-file/shell/install_tomcat_centos6.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | echo "判断常见的文件夹是否存在" 4 | 5 | if [ ! -d "/opt/setups" ]; then 6 | mkdir /opt/setups 7 | fi 8 | 9 | if [ ! -d "/usr/program" ]; then 10 | mkdir /usr/program 11 | fi 12 | 13 | echo "下载 Tomcat" 14 | 15 | cd /opt/setups 16 | wget http://mirror.bit.edu.cn/apache/tomcat/tomcat-8/v8.0.47/bin/apache-tomcat-8.0.47.tar.gz 17 | 18 | if [ ! -f "/opt/setups/apache-tomcat-8.0.47.tar.gz" ]; then 19 | echo "Tomcat 下载失败,结束脚本" 20 | exit 1 21 | fi 22 | 23 | echo "Tomcat 下载成功,开始解压 Tomcat" 24 | tar -zxf apache-tomcat-8.0.47.tar.gz 25 | 26 | if [ ! -d "/opt/setups/apache-tomcat-8.0.47" ]; then 27 | echo "Tomcat 解压失败,结束脚本" 28 | exit 1 29 | fi 30 | 31 | echo "Tomcat 解压包移到 /usr/program/ 目录下" 32 | mv apache-tomcat-8.0.47/ /usr/program/ 33 | mv /usr/program/apache-tomcat-8.0.47/ /usr/program/tomcat8/ 34 | 35 | echo "防火墙放行 8080 端口" 36 | iptables -I INPUT -p tcp -m tcp --dport 8080 -j ACCEPT 37 | service iptables save 38 | service iptables restart 39 | 40 | echo "运行 Tomcat" 41 | sh /usr/program/tomcat8/bin/startup.sh ; tail -200f /usr/program/tomcat8/logs/catalina.out -------------------------------------------------------------------------------- /favorite-file/shell/install_tomcat_centos7.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | echo "判断常见的文件夹是否存在" 4 | 5 | if [ ! -d "/opt/setups" ]; then 6 | mkdir /opt/setups 7 | fi 8 | 9 | echo "下载 Tomcat" 10 | 11 | cd /opt/setups 12 | wget http://apache.fayea.com/tomcat/tomcat-8/v8.0.46/bin/apache-tomcat-8.0.46.tar.gz 13 | 14 | if [ ! -f "/opt/setups/apache-tomcat-8.0.46.tar.gz" ]; then 15 | echo "Tomcat 下载失败,结束脚本" 16 | exit 1 17 | fi 18 | 19 | echo "Tomcat 下载成功,开始解压 Tomcat" 20 | tar -zxf apache-tomcat-8.0.46.tar.gz 21 | 22 | if [ ! -d "/opt/setups/apache-tomcat-8.0.46" ]; then 23 | echo "Tomcat 解压失败,结束脚本" 24 | exit 1 25 | fi 26 | 27 | echo "Tomcat 解压包移到 /usr/local/ 目录下" 28 | mv apache-tomcat-8.0.46/ /usr/local/ 29 | mv /usr/local/apache-tomcat-8.0.46/ /usr/local/tomcat8/ 30 | 31 | echo "防火墙放行 8080 端口" 32 | firewall-cmd --zone=public --add-port=8080/tcp --permanent 33 | firewall-cmd --reload 34 | 35 | echo "运行 Tomcat" 36 | sh /usr/local/tomcat8/bin/startup.sh ; tail -200f /usr/local/tomcat8/logs/catalina.out -------------------------------------------------------------------------------- /favorite-file/shell/install_tomcat_offline_centos7.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | echo "判断常见的文件夹是否存在" 4 | 5 | if [ ! -d "/opt/setups" ]; then 6 | mkdir /opt/setups 7 | fi 8 | 9 | 10 | echo "判断 tomcat 压缩包是否存在" 11 | 12 | if [ ! -f "/opt/setups/apache-tomcat-8.0.46.tar.gz" ]; then 13 | echo "JDK 压缩包不存在" 14 | exit 1 15 | fi 16 | 17 | 18 | cd /opt/setups 19 | 20 | echo "开始解压 Tomcat" 21 | 22 | tar -zxf apache-tomcat-8.0.46.tar.gz 23 | 24 | if [ ! -d "/opt/setups/apache-tomcat-8.0.46" ]; then 25 | echo "Tomcat 解压失败,结束脚本" 26 | exit 1 27 | fi 28 | 29 | echo "Tomcat 解压包移到 /usr/local/ 目录下" 30 | mv apache-tomcat-8.0.46/ /usr/local/ 31 | mv /usr/local/apache-tomcat-8.0.46/ /usr/local/tomcat8/ 32 | 33 | echo "防火墙放行 8080 端口" 34 | firewall-cmd --zone=public --add-port=8080/tcp --permanent 35 | firewall-cmd --reload 36 | 37 | echo "运行 Tomcat" 38 | sh /usr/local/tomcat8/bin/startup.sh ; tail -200f /usr/local/tomcat8/logs/catalina.out -------------------------------------------------------------------------------- /favorite-file/shell/mysql_backup.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | 4 | backupDatetime=$1 5 | 6 | if [ "$backupDatetime" = "" ]; 7 | then 8 | echo -e "\033[0;31m 请输入备份日期 \033[0m" 9 | exit 1 10 | fi 11 | 12 | echo "备份日期 = $backupDatetime" 13 | 14 | /usr/bin/mysqldump -u root --password=123456 数据库名 > /opt/mydb-"$backupDatetime".sql 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /favorite-file/shell/repo_install_centos6.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 本文原内容来自:https://github.com/judasn/Linux-Tutorial/blob/master/CentOS-Extra-Packages.md 3 | 4 | echo "源设置开始" 5 | 6 | echo "备份默认源设置" 7 | sudo mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup 8 | cd /etc/yum.repos.d/ 9 | 10 | echo "下载网易 centos6 源" 11 | sudo wget http://mirrors.163.com/.help/CentOS6-Base-163.repo 12 | 13 | echo "安装网易 centos6 源" 14 | sudo mv CentOS6-Base-163.repo CentOS-Base.repo 15 | rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 16 | 17 | echo "清除缓存后更新程序" 18 | sudo yum clean all 19 | sudo yum makecache 20 | sudo yum update -y 21 | 22 | echo "使用第三方源" 23 | echo "安装 EPEL 源" 24 | sudo yum install -y epel-release 25 | rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6 26 | 27 | echo "安装 RepoForge 源" 28 | wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm 29 | sudo rpm -ivh rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm 30 | sudo rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-rpmforge-dag 31 | 32 | echo "清除缓存后更新程序" 33 | sudo yum clean all 34 | sudo yum makecache 35 | sudo yum update -y 36 | 37 | echo "测试安装 htop" 38 | sudo yum install -y htop 39 | 40 | echo "完成源设置" 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | -------------------------------------------------------------------------------- /favorite-file/shell/shell-for.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # 循环总次数 4 | totalDegree=$1 5 | 6 | # 如果没有传参,则默认值是 10 7 | if [ "$totalDegree" = "" ]; 8 | then 9 | totalDegree=10 10 | fi 11 | 12 | for((timeTemp = 0; timeTemp <= $totalDegree; timeTemp = timeTemp + 5)) 13 | do 14 | echo "timeTemp=$timeTemp" 15 | done 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /favorite-file/shell/shell-with-param-demo.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | 4 | methodParam=$1 5 | SpringBoot=$2 6 | SpringBootPath=$3 7 | 8 | if [ "$methodParam" = "" ]; 9 | then 10 | echo -e "\033[0;31m 未输入操作名 \033[0m \033[0;34m {start|stop|restart|status} \033[0m" 11 | exit 1 12 | fi 13 | 14 | if [ "$SpringBoot" = "" ]; 15 | then 16 | echo -e "\033[0;31m 未输入应用名 \033[0m" 17 | exit 1 18 | fi 19 | 20 | if [ "$SpringBootPath" = "" ]; 21 | then 22 | echo -e "\033[0;31m 未输入应用路径 \033[0m" 23 | exit 1 24 | fi 25 | 26 | echo "操作名 = $methodParam" 27 | echo "应用名 = $2" 28 | echo "应用路径 = $3" 29 | 30 | function start() 31 | { 32 | count=`ps -ef |grep java|grep $SpringBoot|grep -v grep|wc -l` 33 | if [ $count != 0 ];then 34 | echo "$SpringBoot is running..." 35 | else 36 | echo "Start $SpringBoot success..." 37 | cd $SpringBootPath 38 | BUILD_ID=dontKillMe nohup java -jar $SpringBoot > /opt/run-log.log 2>&1 & 39 | fi 40 | } 41 | 42 | function stop() 43 | { 44 | echo "Stop $SpringBoot" 45 | boot_id=`ps -ef |grep java|grep $SpringBoot|grep -v grep|awk '{print $2}'` 46 | count=`ps -ef |grep java|grep $SpringBoot|grep -v grep|wc -l` 47 | 48 | if [ $count != 0 ];then 49 | kill $boot_id 50 | count=`ps -ef |grep java|grep $SpringBoot|grep -v grep|wc -l` 51 | 52 | boot_id=`ps -ef |grep java|grep $SpringBoot|grep -v grep|awk '{print $2}'` 53 | kill -9 $boot_id 54 | fi 55 | } 56 | 57 | function restart() 58 | { 59 | stop 60 | sleep 2 61 | start 62 | } 63 | 64 | function status() 65 | { 66 | count=`ps -ef |grep java|grep $SpringBoot|grep -v grep|wc -l` 67 | if [ $count != 0 ];then 68 | echo "$SpringBoot is running..." 69 | else 70 | echo "$SpringBoot is not running..." 71 | fi 72 | } 73 | 74 | case $methodParam in 75 | start) 76 | start;; 77 | stop) 78 | stop;; 79 | restart) 80 | restart;; 81 | status) 82 | status;; 83 | *) 84 | 85 | echo -e "\033[0;31m Usage: \033[0m \033[0;34m sh $0 {start|stop|restart|status} {SpringBootJarName} \033[0m\033[0;31m Example: \033[0m\033[0;33m sh $0 start esmart-test.jar \033[0m" 86 | esac 87 | 88 | 89 | 90 | -------------------------------------------------------------------------------- /favorite-file/zsh/.zshrc: -------------------------------------------------------------------------------- 1 | # If you come from bash you might have to change your $PATH. 2 | # export PATH=$HOME/bin:/usr/local/bin:$PATH 3 | 4 | # Path to your oh-my-zsh installation. 5 | export ZSH=/root/.oh-my-zsh 6 | 7 | # Set name of the theme to load. Optionally, if you set this to "random" 8 | # it'll load a random theme each time that oh-my-zsh is loaded. 9 | # See https://github.com/robbyrussell/oh-my-zsh/wiki/Themes 10 | ZSH_THEME="avit" 11 | 12 | # Uncomment the following line to use case-sensitive completion. 13 | # CASE_SENSITIVE="true" 14 | 15 | # Uncomment the following line to use hyphen-insensitive completion. Case 16 | # sensitive completion must be off. _ and - will be interchangeable. 17 | # HYPHEN_INSENSITIVE="true" 18 | 19 | # Uncomment the following line to disable bi-weekly auto-update checks. 20 | # DISABLE_AUTO_UPDATE="true" 21 | 22 | # Uncomment the following line to change how often to auto-update (in days). 23 | # export UPDATE_ZSH_DAYS=13 24 | 25 | # Uncomment the following line to disable colors in ls. 26 | # DISABLE_LS_COLORS="true" 27 | 28 | # Uncomment the following line to disable auto-setting terminal title. 29 | # DISABLE_AUTO_TITLE="true" 30 | 31 | # Uncomment the following line to enable command auto-correction. 32 | # ENABLE_CORRECTION="true" 33 | 34 | # Uncomment the following line to display red dots whilst waiting for completion. 35 | # COMPLETION_WAITING_DOTS="true" 36 | 37 | # Uncomment the following line if you want to disable marking untracked files 38 | # under VCS as dirty. This makes repository status check for large repositories 39 | # much, much faster. 40 | # DISABLE_UNTRACKED_FILES_DIRTY="true" 41 | 42 | # Uncomment the following line if you want to change the command execution time 43 | # stamp shown in the history command output. 44 | # The optional three formats: "mm/dd/yyyy"|"dd.mm.yyyy"|"yyyy-mm-dd" 45 | # HIST_STAMPS="mm/dd/yyyy" 46 | 47 | # Would you like to use another custom folder than $ZSH/custom? 48 | # ZSH_CUSTOM=/path/to/new-custom-folder 49 | 50 | # Which plugins would you like to load? (plugins can be found in ~/.oh-my-zsh/plugins/*) 51 | # Custom plugins may be added to ~/.oh-my-zsh/custom/plugins/ 52 | # Example format: plugins=(rails git textmate ruby lighthouse) 53 | # Add wisely, as too many plugins slow down shell startup. 54 | plugins=(git) 55 | 56 | source $ZSH/oh-my-zsh.sh 57 | 58 | # User configuration 59 | 60 | # export MANPATH="/usr/local/man:$MANPATH" 61 | 62 | # You may need to manually set your language environment 63 | # export LANG=en_US.UTF-8 64 | 65 | # Preferred editor for local and remote sessions 66 | # if [[ -n $SSH_CONNECTION ]]; then 67 | # export EDITOR='vim' 68 | # else 69 | # export EDITOR='mvim' 70 | # fi 71 | 72 | # Compilation flags 73 | # export ARCHFLAGS="-arch x86_64" 74 | 75 | # ssh 76 | # export SSH_KEY_PATH="~/.ssh/rsa_id" 77 | 78 | # Set personal aliases, overriding those provided by oh-my-zsh libs, 79 | # plugins, and themes. Aliases can be placed here, though oh-my-zsh 80 | # users are encouraged to define aliases within the ZSH_CUSTOM folder. 81 | # For a full list of active aliases, run `alias`. 82 | # 83 | # Example aliases 84 | # alias zshconfig="mate ~/.zshrc" 85 | # alias ohmyzsh="mate ~/.oh-my-zsh" 86 | 87 | 88 | JAVA_HOME=/usr/program/jdk1.8.0_121 89 | JRE_HOME=$JAVA_HOME/jre 90 | PATH=$PATH:$JAVA_HOME/bin 91 | CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar 92 | export JAVA_HOME 93 | export JRE_HOME 94 | export PATH 95 | export CLASSPATH 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | -------------------------------------------------------------------------------- /images/Alfresco-Install-And-Settings-a-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wechat-Group/Linux-Tutorial/80109268d5b773c22cb8700d953d5ff01e52abde/images/Alfresco-Install-And-Settings-a-1.jpg -------------------------------------------------------------------------------- /images/Alfresco-Install-And-Settings-a-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wechat-Group/Linux-Tutorial/80109268d5b773c22cb8700d953d5ff01e52abde/images/Alfresco-Install-And-Settings-a-2.jpg -------------------------------------------------------------------------------- /images/Alfresco-Install-And-Settings-a-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wechat-Group/Linux-Tutorial/80109268d5b773c22cb8700d953d5ff01e52abde/images/Alfresco-Install-And-Settings-a-3.jpg -------------------------------------------------------------------------------- /images/Alfresco-Install-And-Settings-a-4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wechat-Group/Linux-Tutorial/80109268d5b773c22cb8700d953d5ff01e52abde/images/Alfresco-Install-And-Settings-a-4.jpg -------------------------------------------------------------------------------- /images/CentOS-7-Install-a-0.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wechat-Group/Linux-Tutorial/80109268d5b773c22cb8700d953d5ff01e52abde/images/CentOS-7-Install-a-0.jpg -------------------------------------------------------------------------------- /images/CentOS-7-Install-a-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wechat-Group/Linux-Tutorial/80109268d5b773c22cb8700d953d5ff01e52abde/images/CentOS-7-Install-a-1.jpg -------------------------------------------------------------------------------- /images/CentOS-7-Install-a-10.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wechat-Group/Linux-Tutorial/80109268d5b773c22cb8700d953d5ff01e52abde/images/CentOS-7-Install-a-10.jpg -------------------------------------------------------------------------------- /images/CentOS-7-Install-a-11.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wechat-Group/Linux-Tutorial/80109268d5b773c22cb8700d953d5ff01e52abde/images/CentOS-7-Install-a-11.jpg -------------------------------------------------------------------------------- /images/CentOS-7-Install-a-12.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wechat-Group/Linux-Tutorial/80109268d5b773c22cb8700d953d5ff01e52abde/images/CentOS-7-Install-a-12.jpg -------------------------------------------------------------------------------- /images/CentOS-7-Install-a-13.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wechat-Group/Linux-Tutorial/80109268d5b773c22cb8700d953d5ff01e52abde/images/CentOS-7-Install-a-13.jpg -------------------------------------------------------------------------------- /images/CentOS-7-Install-a-14.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wechat-Group/Linux-Tutorial/80109268d5b773c22cb8700d953d5ff01e52abde/images/CentOS-7-Install-a-14.jpg -------------------------------------------------------------------------------- /images/CentOS-7-Install-a-15.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wechat-Group/Linux-Tutorial/80109268d5b773c22cb8700d953d5ff01e52abde/images/CentOS-7-Install-a-15.jpg -------------------------------------------------------------------------------- /images/CentOS-7-Install-a-16.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wechat-Group/Linux-Tutorial/80109268d5b773c22cb8700d953d5ff01e52abde/images/CentOS-7-Install-a-16.jpg -------------------------------------------------------------------------------- /images/CentOS-7-Install-a-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wechat-Group/Linux-Tutorial/80109268d5b773c22cb8700d953d5ff01e52abde/images/CentOS-7-Install-a-2.jpg -------------------------------------------------------------------------------- /images/CentOS-7-Install-a-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wechat-Group/Linux-Tutorial/80109268d5b773c22cb8700d953d5ff01e52abde/images/CentOS-7-Install-a-3.jpg -------------------------------------------------------------------------------- /images/CentOS-7-Install-a-4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wechat-Group/Linux-Tutorial/80109268d5b773c22cb8700d953d5ff01e52abde/images/CentOS-7-Install-a-4.jpg -------------------------------------------------------------------------------- /images/CentOS-7-Install-a-5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wechat-Group/Linux-Tutorial/80109268d5b773c22cb8700d953d5ff01e52abde/images/CentOS-7-Install-a-5.jpg -------------------------------------------------------------------------------- /images/CentOS-7-Install-a-6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wechat-Group/Linux-Tutorial/80109268d5b773c22cb8700d953d5ff01e52abde/images/CentOS-7-Install-a-6.jpg -------------------------------------------------------------------------------- /images/CentOS-7-Install-a-7.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wechat-Group/Linux-Tutorial/80109268d5b773c22cb8700d953d5ff01e52abde/images/CentOS-7-Install-a-7.jpg -------------------------------------------------------------------------------- /images/CentOS-7-Install-a-8.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wechat-Group/Linux-Tutorial/80109268d5b773c22cb8700d953d5ff01e52abde/images/CentOS-7-Install-a-8.jpg -------------------------------------------------------------------------------- /images/CentOS-7-Install-a-9.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wechat-Group/Linux-Tutorial/80109268d5b773c22cb8700d953d5ff01e52abde/images/CentOS-7-Install-a-9.jpg -------------------------------------------------------------------------------- /images/CentOS-Extra-Packages-a-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wechat-Group/Linux-Tutorial/80109268d5b773c22cb8700d953d5ff01e52abde/images/CentOS-Extra-Packages-a-1.jpg -------------------------------------------------------------------------------- /images/CentOS-Extra-Packages-a-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wechat-Group/Linux-Tutorial/80109268d5b773c22cb8700d953d5ff01e52abde/images/CentOS-Extra-Packages-a-2.jpg -------------------------------------------------------------------------------- /images/CentOS-Install-VirtualBox-a-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wechat-Group/Linux-Tutorial/80109268d5b773c22cb8700d953d5ff01e52abde/images/CentOS-Install-VirtualBox-a-1.jpg -------------------------------------------------------------------------------- /images/CentOS-Install-VirtualBox-a-12.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wechat-Group/Linux-Tutorial/80109268d5b773c22cb8700d953d5ff01e52abde/images/CentOS-Install-VirtualBox-a-12.jpg -------------------------------------------------------------------------------- /images/CentOS-Install-VirtualBox-a-13.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wechat-Group/Linux-Tutorial/80109268d5b773c22cb8700d953d5ff01e52abde/images/CentOS-Install-VirtualBox-a-13.jpg -------------------------------------------------------------------------------- /images/CentOS-Install-VirtualBox-a-14.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wechat-Group/Linux-Tutorial/80109268d5b773c22cb8700d953d5ff01e52abde/images/CentOS-Install-VirtualBox-a-14.jpg -------------------------------------------------------------------------------- /images/CentOS-Install-VirtualBox-a-15.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wechat-Group/Linux-Tutorial/80109268d5b773c22cb8700d953d5ff01e52abde/images/CentOS-Install-VirtualBox-a-15.jpg -------------------------------------------------------------------------------- /images/CentOS-Install-VirtualBox-a-16.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wechat-Group/Linux-Tutorial/80109268d5b773c22cb8700d953d5ff01e52abde/images/CentOS-Install-VirtualBox-a-16.jpg -------------------------------------------------------------------------------- /images/CentOS-Install-VirtualBox-a-17.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wechat-Group/Linux-Tutorial/80109268d5b773c22cb8700d953d5ff01e52abde/images/CentOS-Install-VirtualBox-a-17.jpg -------------------------------------------------------------------------------- /images/CentOS-Install-VirtualBox-a-18.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wechat-Group/Linux-Tutorial/80109268d5b773c22cb8700d953d5ff01e52abde/images/CentOS-Install-VirtualBox-a-18.jpg -------------------------------------------------------------------------------- /images/CentOS-Install-VirtualBox-a-19.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wechat-Group/Linux-Tutorial/80109268d5b773c22cb8700d953d5ff01e52abde/images/CentOS-Install-VirtualBox-a-19.jpg -------------------------------------------------------------------------------- /images/CentOS-Install-VirtualBox-a-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wechat-Group/Linux-Tutorial/80109268d5b773c22cb8700d953d5ff01e52abde/images/CentOS-Install-VirtualBox-a-2.jpg -------------------------------------------------------------------------------- /images/CentOS-Install-VirtualBox-a-20.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wechat-Group/Linux-Tutorial/80109268d5b773c22cb8700d953d5ff01e52abde/images/CentOS-Install-VirtualBox-a-20.jpg -------------------------------------------------------------------------------- /images/CentOS-Install-VirtualBox-a-21.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wechat-Group/Linux-Tutorial/80109268d5b773c22cb8700d953d5ff01e52abde/images/CentOS-Install-VirtualBox-a-21.jpg -------------------------------------------------------------------------------- /images/CentOS-Install-VirtualBox-a-22.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wechat-Group/Linux-Tutorial/80109268d5b773c22cb8700d953d5ff01e52abde/images/CentOS-Install-VirtualBox-a-22.jpg -------------------------------------------------------------------------------- /images/CentOS-Install-VirtualBox-a-23.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wechat-Group/Linux-Tutorial/80109268d5b773c22cb8700d953d5ff01e52abde/images/CentOS-Install-VirtualBox-a-23.jpg -------------------------------------------------------------------------------- /images/CentOS-Install-VirtualBox-a-24.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wechat-Group/Linux-Tutorial/80109268d5b773c22cb8700d953d5ff01e52abde/images/CentOS-Install-VirtualBox-a-24.jpg -------------------------------------------------------------------------------- /images/CentOS-Install-VirtualBox-a-25.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wechat-Group/Linux-Tutorial/80109268d5b773c22cb8700d953d5ff01e52abde/images/CentOS-Install-VirtualBox-a-25.jpg -------------------------------------------------------------------------------- /images/CentOS-Install-VirtualBox-a-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wechat-Group/Linux-Tutorial/80109268d5b773c22cb8700d953d5ff01e52abde/images/CentOS-Install-VirtualBox-a-3.jpg -------------------------------------------------------------------------------- /images/CentOS-Install-VirtualBox-a-4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wechat-Group/Linux-Tutorial/80109268d5b773c22cb8700d953d5ff01e52abde/images/CentOS-Install-VirtualBox-a-4.jpg -------------------------------------------------------------------------------- /images/CentOS-Install-VirtualBox-a-5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wechat-Group/Linux-Tutorial/80109268d5b773c22cb8700d953d5ff01e52abde/images/CentOS-Install-VirtualBox-a-5.jpg -------------------------------------------------------------------------------- /images/CentOS-Install-VirtualBox-a-6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wechat-Group/Linux-Tutorial/80109268d5b773c22cb8700d953d5ff01e52abde/images/CentOS-Install-VirtualBox-a-6.jpg -------------------------------------------------------------------------------- /images/CentOS-Install-VirtualBox-a-7.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wechat-Group/Linux-Tutorial/80109268d5b773c22cb8700d953d5ff01e52abde/images/CentOS-Install-VirtualBox-a-7.jpg -------------------------------------------------------------------------------- /images/CentOS-Install-VirtualBox-a-8.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wechat-Group/Linux-Tutorial/80109268d5b773c22cb8700d953d5ff01e52abde/images/CentOS-Install-VirtualBox-a-8.jpg -------------------------------------------------------------------------------- /images/CentOS-Install-VirtualBox-a-9.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wechat-Group/Linux-Tutorial/80109268d5b773c22cb8700d953d5ff01e52abde/images/CentOS-Install-VirtualBox-a-9.jpg -------------------------------------------------------------------------------- /images/CentOS-Install-VirtualBox-b-1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wechat-Group/Linux-Tutorial/80109268d5b773c22cb8700d953d5ff01e52abde/images/CentOS-Install-VirtualBox-b-1.gif -------------------------------------------------------------------------------- /images/CentOS-Network-Settings-a-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wechat-Group/Linux-Tutorial/80109268d5b773c22cb8700d953d5ff01e52abde/images/CentOS-Network-Settings-a-1.jpg -------------------------------------------------------------------------------- /images/CentOS-Network-Settings-a-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wechat-Group/Linux-Tutorial/80109268d5b773c22cb8700d953d5ff01e52abde/images/CentOS-Network-Settings-a-2.jpg -------------------------------------------------------------------------------- /images/CentOS-Virtual-Machine-Copy-Settings-a-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wechat-Group/Linux-Tutorial/80109268d5b773c22cb8700d953d5ff01e52abde/images/CentOS-Virtual-Machine-Copy-Settings-a-1.png -------------------------------------------------------------------------------- /images/CentOS-install-VMware-a-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wechat-Group/Linux-Tutorial/80109268d5b773c22cb8700d953d5ff01e52abde/images/CentOS-install-VMware-a-1.jpg -------------------------------------------------------------------------------- /images/CentOS-install-VMware-a-10.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wechat-Group/Linux-Tutorial/80109268d5b773c22cb8700d953d5ff01e52abde/images/CentOS-install-VMware-a-10.jpg -------------------------------------------------------------------------------- /images/CentOS-install-VMware-a-11.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wechat-Group/Linux-Tutorial/80109268d5b773c22cb8700d953d5ff01e52abde/images/CentOS-install-VMware-a-11.jpg -------------------------------------------------------------------------------- /images/CentOS-install-VMware-a-12.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wechat-Group/Linux-Tutorial/80109268d5b773c22cb8700d953d5ff01e52abde/images/CentOS-install-VMware-a-12.jpg -------------------------------------------------------------------------------- /images/CentOS-install-VMware-a-13.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wechat-Group/Linux-Tutorial/80109268d5b773c22cb8700d953d5ff01e52abde/images/CentOS-install-VMware-a-13.jpg -------------------------------------------------------------------------------- /images/CentOS-install-VMware-a-14.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wechat-Group/Linux-Tutorial/80109268d5b773c22cb8700d953d5ff01e52abde/images/CentOS-install-VMware-a-14.jpg -------------------------------------------------------------------------------- /images/CentOS-install-VMware-a-15.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wechat-Group/Linux-Tutorial/80109268d5b773c22cb8700d953d5ff01e52abde/images/CentOS-install-VMware-a-15.jpg -------------------------------------------------------------------------------- /images/CentOS-install-VMware-a-16.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wechat-Group/Linux-Tutorial/80109268d5b773c22cb8700d953d5ff01e52abde/images/CentOS-install-VMware-a-16.jpg -------------------------------------------------------------------------------- /images/CentOS-install-VMware-a-17.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wechat-Group/Linux-Tutorial/80109268d5b773c22cb8700d953d5ff01e52abde/images/CentOS-install-VMware-a-17.jpg -------------------------------------------------------------------------------- /images/CentOS-install-VMware-a-18.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wechat-Group/Linux-Tutorial/80109268d5b773c22cb8700d953d5ff01e52abde/images/CentOS-install-VMware-a-18.jpg -------------------------------------------------------------------------------- /images/CentOS-install-VMware-a-19.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wechat-Group/Linux-Tutorial/80109268d5b773c22cb8700d953d5ff01e52abde/images/CentOS-install-VMware-a-19.jpg -------------------------------------------------------------------------------- /images/CentOS-install-VMware-a-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wechat-Group/Linux-Tutorial/80109268d5b773c22cb8700d953d5ff01e52abde/images/CentOS-install-VMware-a-2.jpg -------------------------------------------------------------------------------- /images/CentOS-install-VMware-a-20.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wechat-Group/Linux-Tutorial/80109268d5b773c22cb8700d953d5ff01e52abde/images/CentOS-install-VMware-a-20.jpg -------------------------------------------------------------------------------- /images/CentOS-install-VMware-a-21.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wechat-Group/Linux-Tutorial/80109268d5b773c22cb8700d953d5ff01e52abde/images/CentOS-install-VMware-a-21.jpg -------------------------------------------------------------------------------- /images/CentOS-install-VMware-a-22.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wechat-Group/Linux-Tutorial/80109268d5b773c22cb8700d953d5ff01e52abde/images/CentOS-install-VMware-a-22.jpg -------------------------------------------------------------------------------- /images/CentOS-install-VMware-a-23.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wechat-Group/Linux-Tutorial/80109268d5b773c22cb8700d953d5ff01e52abde/images/CentOS-install-VMware-a-23.jpg -------------------------------------------------------------------------------- /images/CentOS-install-VMware-a-24.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wechat-Group/Linux-Tutorial/80109268d5b773c22cb8700d953d5ff01e52abde/images/CentOS-install-VMware-a-24.jpg -------------------------------------------------------------------------------- /images/CentOS-install-VMware-a-25.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wechat-Group/Linux-Tutorial/80109268d5b773c22cb8700d953d5ff01e52abde/images/CentOS-install-VMware-a-25.jpg -------------------------------------------------------------------------------- /images/CentOS-install-VMware-a-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wechat-Group/Linux-Tutorial/80109268d5b773c22cb8700d953d5ff01e52abde/images/CentOS-install-VMware-a-3.jpg -------------------------------------------------------------------------------- /images/CentOS-install-VMware-a-4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wechat-Group/Linux-Tutorial/80109268d5b773c22cb8700d953d5ff01e52abde/images/CentOS-install-VMware-a-4.jpg -------------------------------------------------------------------------------- /images/CentOS-install-VMware-a-5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wechat-Group/Linux-Tutorial/80109268d5b773c22cb8700d953d5ff01e52abde/images/CentOS-install-VMware-a-5.jpg -------------------------------------------------------------------------------- /images/CentOS-install-VMware-a-6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wechat-Group/Linux-Tutorial/80109268d5b773c22cb8700d953d5ff01e52abde/images/CentOS-install-VMware-a-6.jpg -------------------------------------------------------------------------------- /images/CentOS-install-VMware-a-7.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wechat-Group/Linux-Tutorial/80109268d5b773c22cb8700d953d5ff01e52abde/images/CentOS-install-VMware-a-7.jpg -------------------------------------------------------------------------------- /images/CentOS-install-VMware-a-8.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wechat-Group/Linux-Tutorial/80109268d5b773c22cb8700d953d5ff01e52abde/images/CentOS-install-VMware-a-8.jpg -------------------------------------------------------------------------------- /images/CentOS-install-VMware-a-9.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wechat-Group/Linux-Tutorial/80109268d5b773c22cb8700d953d5ff01e52abde/images/CentOS-install-VMware-a-9.jpg -------------------------------------------------------------------------------- /images/CentOS-install-VMware-b-1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wechat-Group/Linux-Tutorial/80109268d5b773c22cb8700d953d5ff01e52abde/images/CentOS-install-VMware-b-1.gif -------------------------------------------------------------------------------- /images/CentOS-install-VMware-b-2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wechat-Group/Linux-Tutorial/80109268d5b773c22cb8700d953d5ff01e52abde/images/CentOS-install-VMware-b-2.gif -------------------------------------------------------------------------------- /images/CentOS6-and-CentOS7-a-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wechat-Group/Linux-Tutorial/80109268d5b773c22cb8700d953d5ff01e52abde/images/CentOS6-and-CentOS7-a-1.png -------------------------------------------------------------------------------- /images/Crontab-a-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wechat-Group/Linux-Tutorial/80109268d5b773c22cb8700d953d5ff01e52abde/images/Crontab-a-1.jpg -------------------------------------------------------------------------------- /images/FTP-a-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wechat-Group/Linux-Tutorial/80109268d5b773c22cb8700d953d5ff01e52abde/images/FTP-a-1.jpg -------------------------------------------------------------------------------- /images/FastDFS-a-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wechat-Group/Linux-Tutorial/80109268d5b773c22cb8700d953d5ff01e52abde/images/FastDFS-a-1.jpg -------------------------------------------------------------------------------- /images/Iptables-a-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wechat-Group/Linux-Tutorial/80109268d5b773c22cb8700d953d5ff01e52abde/images/Iptables-a-1.jpg -------------------------------------------------------------------------------- /images/Jira-Install-And-Settings-a-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wechat-Group/Linux-Tutorial/80109268d5b773c22cb8700d953d5ff01e52abde/images/Jira-Install-And-Settings-a-1.jpg -------------------------------------------------------------------------------- /images/Jira-Install-And-Settings-a-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wechat-Group/Linux-Tutorial/80109268d5b773c22cb8700d953d5ff01e52abde/images/Jira-Install-And-Settings-a-2.jpg -------------------------------------------------------------------------------- /images/Jira-Install-And-Settings-a-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wechat-Group/Linux-Tutorial/80109268d5b773c22cb8700d953d5ff01e52abde/images/Jira-Install-And-Settings-a-3.jpg -------------------------------------------------------------------------------- /images/Jira-Install-And-Settings-a-4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wechat-Group/Linux-Tutorial/80109268d5b773c22cb8700d953d5ff01e52abde/images/Jira-Install-And-Settings-a-4.jpg -------------------------------------------------------------------------------- /images/Jira-Install-And-Settings-a-5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wechat-Group/Linux-Tutorial/80109268d5b773c22cb8700d953d5ff01e52abde/images/Jira-Install-And-Settings-a-5.jpg -------------------------------------------------------------------------------- /images/Jira-Install-And-Settings-a-6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wechat-Group/Linux-Tutorial/80109268d5b773c22cb8700d953d5ff01e52abde/images/Jira-Install-And-Settings-a-6.jpg -------------------------------------------------------------------------------- /images/Ldap-Install-And-Settings-a-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wechat-Group/Linux-Tutorial/80109268d5b773c22cb8700d953d5ff01e52abde/images/Ldap-Install-And-Settings-a-1.png -------------------------------------------------------------------------------- /images/NTP-a-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wechat-Group/Linux-Tutorial/80109268d5b773c22cb8700d953d5ff01e52abde/images/NTP-a-1.jpg -------------------------------------------------------------------------------- /images/Nexus-Install-And-Settings-a-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wechat-Group/Linux-Tutorial/80109268d5b773c22cb8700d953d5ff01e52abde/images/Nexus-Install-And-Settings-a-1.jpg -------------------------------------------------------------------------------- /images/Nexus-Install-And-Settings-a-2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wechat-Group/Linux-Tutorial/80109268d5b773c22cb8700d953d5ff01e52abde/images/Nexus-Install-And-Settings-a-2.gif -------------------------------------------------------------------------------- /images/Nginx-SSL-a-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wechat-Group/Linux-Tutorial/80109268d5b773c22cb8700d953d5ff01e52abde/images/Nginx-SSL-a-1.jpg -------------------------------------------------------------------------------- /images/Openfire-Settings-a-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wechat-Group/Linux-Tutorial/80109268d5b773c22cb8700d953d5ff01e52abde/images/Openfire-Settings-a-1.jpg -------------------------------------------------------------------------------- /images/Openfire-Settings-a-10.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wechat-Group/Linux-Tutorial/80109268d5b773c22cb8700d953d5ff01e52abde/images/Openfire-Settings-a-10.jpg -------------------------------------------------------------------------------- /images/Openfire-Settings-a-11.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wechat-Group/Linux-Tutorial/80109268d5b773c22cb8700d953d5ff01e52abde/images/Openfire-Settings-a-11.jpg -------------------------------------------------------------------------------- /images/Openfire-Settings-a-12.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wechat-Group/Linux-Tutorial/80109268d5b773c22cb8700d953d5ff01e52abde/images/Openfire-Settings-a-12.jpg -------------------------------------------------------------------------------- /images/Openfire-Settings-a-13.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wechat-Group/Linux-Tutorial/80109268d5b773c22cb8700d953d5ff01e52abde/images/Openfire-Settings-a-13.jpg -------------------------------------------------------------------------------- /images/Openfire-Settings-a-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wechat-Group/Linux-Tutorial/80109268d5b773c22cb8700d953d5ff01e52abde/images/Openfire-Settings-a-2.jpg -------------------------------------------------------------------------------- /images/Openfire-Settings-a-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wechat-Group/Linux-Tutorial/80109268d5b773c22cb8700d953d5ff01e52abde/images/Openfire-Settings-a-3.jpg -------------------------------------------------------------------------------- /images/Openfire-Settings-a-4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wechat-Group/Linux-Tutorial/80109268d5b773c22cb8700d953d5ff01e52abde/images/Openfire-Settings-a-4.jpg -------------------------------------------------------------------------------- /images/Openfire-Settings-a-5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wechat-Group/Linux-Tutorial/80109268d5b773c22cb8700d953d5ff01e52abde/images/Openfire-Settings-a-5.jpg -------------------------------------------------------------------------------- /images/Openfire-Settings-a-6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wechat-Group/Linux-Tutorial/80109268d5b773c22cb8700d953d5ff01e52abde/images/Openfire-Settings-a-6.jpg -------------------------------------------------------------------------------- /images/Openfire-Settings-a-7.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wechat-Group/Linux-Tutorial/80109268d5b773c22cb8700d953d5ff01e52abde/images/Openfire-Settings-a-7.jpg -------------------------------------------------------------------------------- /images/Openfire-Settings-a-8.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wechat-Group/Linux-Tutorial/80109268d5b773c22cb8700d953d5ff01e52abde/images/Openfire-Settings-a-8.jpg -------------------------------------------------------------------------------- /images/Openfire-Settings-a-9.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wechat-Group/Linux-Tutorial/80109268d5b773c22cb8700d953d5ff01e52abde/images/Openfire-Settings-a-9.jpg -------------------------------------------------------------------------------- /images/RabbitMQ-Add-User-a-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wechat-Group/Linux-Tutorial/80109268d5b773c22cb8700d953d5ff01e52abde/images/RabbitMQ-Add-User-a-1.jpg -------------------------------------------------------------------------------- /images/RabbitMQ-Add-User-a-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wechat-Group/Linux-Tutorial/80109268d5b773c22cb8700d953d5ff01e52abde/images/RabbitMQ-Add-User-a-2.jpg -------------------------------------------------------------------------------- /images/RabbitMQ-Add-User-a-3.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wechat-Group/Linux-Tutorial/80109268d5b773c22cb8700d953d5ff01e52abde/images/RabbitMQ-Add-User-a-3.gif -------------------------------------------------------------------------------- /images/RabbitMQ-Bindings-Queue-a-1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wechat-Group/Linux-Tutorial/80109268d5b773c22cb8700d953d5ff01e52abde/images/RabbitMQ-Bindings-Queue-a-1.gif -------------------------------------------------------------------------------- /images/Redis-GUI-a-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wechat-Group/Linux-Tutorial/80109268d5b773c22cb8700d953d5ff01e52abde/images/Redis-GUI-a-1.jpg -------------------------------------------------------------------------------- /images/SVN-Install-And-Settings-a-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wechat-Group/Linux-Tutorial/80109268d5b773c22cb8700d953d5ff01e52abde/images/SVN-Install-And-Settings-a-1.jpg -------------------------------------------------------------------------------- /images/SVN-Install-And-Settings-a-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wechat-Group/Linux-Tutorial/80109268d5b773c22cb8700d953d5ff01e52abde/images/SVN-Install-And-Settings-a-2.jpg -------------------------------------------------------------------------------- /images/SVN-Install-And-Settings-a-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wechat-Group/Linux-Tutorial/80109268d5b773c22cb8700d953d5ff01e52abde/images/SVN-Install-And-Settings-a-3.jpg -------------------------------------------------------------------------------- /images/SVN-Install-And-Settings-a-4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wechat-Group/Linux-Tutorial/80109268d5b773c22cb8700d953d5ff01e52abde/images/SVN-Install-And-Settings-a-4.jpg -------------------------------------------------------------------------------- /images/Ubuntu-a-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wechat-Group/Linux-Tutorial/80109268d5b773c22cb8700d953d5ff01e52abde/images/Ubuntu-a-1.jpg -------------------------------------------------------------------------------- /images/Ubuntu-a-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wechat-Group/Linux-Tutorial/80109268d5b773c22cb8700d953d5ff01e52abde/images/Ubuntu-a-2.jpg -------------------------------------------------------------------------------- /images/Ubuntu-a-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wechat-Group/Linux-Tutorial/80109268d5b773c22cb8700d953d5ff01e52abde/images/Ubuntu-a-3.jpg -------------------------------------------------------------------------------- /images/Ubuntu-a-4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wechat-Group/Linux-Tutorial/80109268d5b773c22cb8700d953d5ff01e52abde/images/Ubuntu-a-4.jpg -------------------------------------------------------------------------------- /images/Ubuntu-a-5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wechat-Group/Linux-Tutorial/80109268d5b773c22cb8700d953d5ff01e52abde/images/Ubuntu-a-5.jpg -------------------------------------------------------------------------------- /images/Ubuntu-a-6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wechat-Group/Linux-Tutorial/80109268d5b773c22cb8700d953d5ff01e52abde/images/Ubuntu-a-6.jpg -------------------------------------------------------------------------------- /images/Vim-Cut-And-Paste-a-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wechat-Group/Linux-Tutorial/80109268d5b773c22cb8700d953d5ff01e52abde/images/Vim-Cut-And-Paste-a-1.png -------------------------------------------------------------------------------- /images/Zookeeper-Client-ZooInspector.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wechat-Group/Linux-Tutorial/80109268d5b773c22cb8700d953d5ff01e52abde/images/Zookeeper-Client-ZooInspector.png -------------------------------------------------------------------------------- /images/Zookeeper-Client-zooweb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wechat-Group/Linux-Tutorial/80109268d5b773c22cb8700d953d5ff01e52abde/images/Zookeeper-Client-zooweb.png -------------------------------------------------------------------------------- /images/Zsh-a-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wechat-Group/Linux-Tutorial/80109268d5b773c22cb8700d953d5ff01e52abde/images/Zsh-a-1.jpg -------------------------------------------------------------------------------- /images/Zsh-b-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wechat-Group/Linux-Tutorial/80109268d5b773c22cb8700d953d5ff01e52abde/images/Zsh-b-1.jpg -------------------------------------------------------------------------------- /images/Zsh-c-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wechat-Group/Linux-Tutorial/80109268d5b773c22cb8700d953d5ff01e52abde/images/Zsh-c-1.jpg -------------------------------------------------------------------------------- /images/Zsh-d-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wechat-Group/Linux-Tutorial/80109268d5b773c22cb8700d953d5ff01e52abde/images/Zsh-d-1.jpg -------------------------------------------------------------------------------- /markdown-file/Alfresco-Install-And-Usage.md: -------------------------------------------------------------------------------- 1 | # Alfresco 使用 2 | 3 | ## Alfresco 介绍 4 | 5 | - 官网: 6 | - 开源社区版下载: 7 | - 官网文档说明: 8 | - 开源社区版本安装说明: 9 | - Linux 版本安装说明: 10 | - 我的目的:用来管理公司发布的文档,比如:Word、Excel、记事本等这类,该系统支持在线预览文件。 11 | 12 | ## 环境说明 13 | 14 | - CentOS 7.3 带有图形桌面(需要有) 15 | - 下载下来的软件:**alfresco-community-installer-201704-linux-x64_3.bin**,大小:822M 16 | - 安装包存放目录:/opt 17 | 18 | ## 开始安装: 19 | 20 | - 使用 Linux 桌面方式进入系统,打开终端: 21 | - 切换目录:`cd /opt` 22 | - 赋予权限:`chmod +x alfresco-community-installer-201704-linux-x64_3.bin` 23 | - `./alfresco-community-installer-201704-linux-x64_3.bin` 24 | - 然后会出现如下图这种步骤引导安装界面,带有简体中文版,选择 `简单` 的基本流程安装方式,默认都是下一步下一步。其实选择 `高级` 也基本上是下一步下一步的,只是可以看到更多细节。 25 | - 在设置管理员密码上,我是:123456(默认用户名是:admin) 26 | 27 | ![alfresco 安装](../images/Alfresco-Install-And-Settings-a-1.jpg) 28 | ![alfresco 安装](../images/Alfresco-Install-And-Settings-a-2.jpg) 29 | 30 | - 安装完成后,可以选择开始启动程序。建议不勾选,我们来使用下面命令。 31 | - 程序默认是安装在:**/opt/alfresco-community** 32 | - 所以我们需要打开终端: 33 | - 切换目录:`cd /opt/alfresco-community` 34 | - 启动程序:`./alfresco.sh start` 35 | - 停止程序:`./alfresco.sh stop` 36 | - 启动完成后,用浏览器打开:(如果你 Linux 防火墙关闭了,也可以直接用其他机子直接访问,把这台机子当做服务器用),可以看到如下内容: 37 | 38 | ![alfresco 安装](../images/Alfresco-Install-And-Settings-a-3.jpg) 39 | ![alfresco 安装](../images/Alfresco-Install-And-Settings-a-4.jpg) 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | -------------------------------------------------------------------------------- /markdown-file/Bash-Other-Bash.md: -------------------------------------------------------------------------------- 1 | # Bash 其他常用命令 2 | 3 | ## 其他常用命令 4 | 5 | - 编辑 hosts 文件:`vim /etc/hosts`,添加内容格式:`127.0.0.1 www.youmeek.com` 6 | - RPM 文件操作命令: 7 | - 安装 8 | - `rpm -i example.rpm`,安装 example.rpm 包 9 | - `rpm -iv example.rpm`,安装 example.rpm 包并在安装过程中显示正在安装的文件信息 10 | - `rpm -ivh example.rpm`,安装 example.rpm 包并在安装过程中显示正在安装的文件信息及安装进度 11 | - 查询 12 | - `rpm -qa | grep jdk`,查看 jdk 是否被安装 13 | - `rpm -ql jdk`,查看 jdk 是否被安装 14 | - 卸载 15 | - `rpm -e jdk`,卸载 jdk(一般卸载的时候都要先用 rpm -qa 看下整个软件的全名) 16 | - YUM 软件管理: 17 | - `yum install -y httpd`,安装 apache 18 | - `yum remove -y httpd`,卸载 apache 19 | - `yum info -y httpd`,查看 apache 版本信息 20 | - `yum list --showduplicates httpd`,查看可以安装的版本 21 | - `yum install httpd-查询到的版本号`,安装指定版本 22 | - 更多命令可以看: 23 | - 查看某个配置文件,排除掉里面以 # 开头的注释内容: 24 | - `grep '^[^#]' /etc/openvpn/server.conf` 25 | - 查看某个配置文件,排除掉里面以 # 开头和 ; 开头的注释内容: 26 | - `grep '^[^#;]' /etc/openvpn/server.conf` 27 | 28 | ## 资料 29 | 30 | - 31 | 32 | -------------------------------------------------------------------------------- /markdown-file/CentOS-7-Install.md: -------------------------------------------------------------------------------- 1 | # CentOS 7 安装 2 | 3 | 4 | ## 概括 5 | 6 | - 本教程中主要演示了 VMware Workstation 下安装 `CentOS 7.3` 的过程。 7 | - VMware 的使用细节可以看这篇:[CentOS 6 安装](CentOS-Install.md) 8 | - 如果你是要安装到 PC 机中,你需要准备一个 U 盘,以及 Windows 下载这个软件:[USBWriter(提取码:5aa2)](https://pan.baidu.com/s/1gg83h9T) 9 | - 如果你是要安装到 PC 机中,你需要准备一个 U 盘,以及 macOS 下载这个软件:[balenaEtcher(提取码:oqp9)](https://pan.baidu.com/s/1l5K48tfuCKdn0wR_62PjJA) 10 | - USBWriter 的使用很简单,如下图即可制作一个 CentOS 系统盘 11 | 12 | ![VMware 下安装](../images/CentOS-7-Install-a-0.jpg) 13 | 14 | 15 | ## VMware 下安装 CentOS 过程 16 | 17 | - VMware Workstation 的介绍和下载 18 | - 官网: 19 | - wiki: 20 | - 百度 wiki: 21 | - 百度云下载(64 位): 22 | - 官网下载: 23 | 24 | 25 | - 安装细节开始: 26 | 27 | ![VMware 下安装](../images/CentOS-7-Install-a-1.jpg) 28 | 29 | ![VMware 下安装](../images/CentOS-7-Install-a-2.jpg) 30 | 31 | ![VMware 下安装](../images/CentOS-7-Install-a-3.jpg) 32 | 33 | ![VMware 下安装](../images/CentOS-7-Install-a-4.jpg) 34 | 35 | ![VMware 下安装](../images/CentOS-7-Install-a-5.jpg) 36 | 37 | - 如上图,默认是最小安装,点击进去,选择桌面安装。 38 | - 如上图,默认是自动分区,如果懂得分区,点击进去,进行手动分区,CentOS 7 少了主分区,逻辑分区的选择了。 39 | 40 | ![VMware 下安装](../images/CentOS-7-Install-a-6.jpg) 41 | 42 | - 如上图,root 密码必须设置,我习惯测试的时候是:123456 43 | - 我没有创建用户,喜欢用 root 44 | 45 | ![VMware 下安装](../images/CentOS-7-Install-a-7.jpg) 46 | 47 | ![VMware 下安装](../images/CentOS-7-Install-a-8.jpg) 48 | 49 | - 如上图,许可证必须点击进去勾选同意相关协议。 50 | - 如上图,网络可以稍后在设置,主机名可以现在先填写 51 | 52 | ![VMware 下安装](../images/CentOS-7-Install-a-9.jpg) 53 | 54 | ![VMware 下安装](../images/CentOS-7-Install-a-10.jpg) 55 | 56 | ![VMware 下安装](../images/CentOS-7-Install-a-11.jpg) 57 | 58 | ![VMware 下安装](../images/CentOS-7-Install-a-12.jpg) 59 | 60 | - 如上图右上角,一般我们都选择跳过 61 | 62 | ![VMware 下安装](../images/CentOS-7-Install-a-13.jpg) 63 | 64 | ![VMware 下安装](../images/CentOS-7-Install-a-14.jpg) 65 | 66 | ![VMware 下安装](../images/CentOS-7-Install-a-15.jpg) 67 | 68 | ![VMware 下安装](../images/CentOS-7-Install-a-16.jpg) 69 | 70 | - 到此完成,其他该做啥就做啥 71 | -------------------------------------------------------------------------------- /markdown-file/CentOS-Virtual-Machine-Copy-Settings.md: -------------------------------------------------------------------------------- 1 | # VMware 克隆 CentOS 后网卡信息修改 2 | 3 | ## 概述 4 | 5 | - 在我们需要多台 CentOS 虚拟机的时候,对已有虚拟机的系统进行克隆或是复制。但是这样做又有一个问题,克隆出来的虚拟机启动的时候你输入命令:`ifconfig`,eth0 网卡信息没了,只有一个 eth1。 对于处女座的人来讲这是不允许的。所以我们需要改动下。 6 | - 复制虚拟机后,首次打开该会提示如下内容,一般选择 copy 这个配置。 7 | - ![vim](../images/CentOS-Virtual-Machine-Copy-Settings-a-1.png) 8 | 9 | 10 | 11 | ## CentOS 6 修改方法 12 | 13 | - 设置 hostname:`hostnamectl --static set-hostname linux02` 14 | - 命令:`sudo vim /etc/udev/rules.d/70-persistent-net.rules` 15 | - 该文件中正常此时应该有两行信息 16 | - 在文件中把 NAME="eth0″ 的这一行注释掉 17 | - 对于另一行,把 NAME=”eth1″ 的这一行,把 NAME=”eth1″ 改为 NAME=”eth0″,并且把该行:ATTRS{address}=="00:0c:29:4c:46:01″ 这个属性信息记下来,每台机子都不一样,我这段信息只是例子,你不要直接复制我的。 18 | 19 | - 命令:`sudo vim /etc/sysconfig/network-scripts/ifcfg-eth0` 20 | - 修改 IP 地址 21 | - 把 HWADDR 的值改为上面要求记下来的:00:0c:29:4c:46:01 22 | 23 | - 命令:`nmcli con > /opt/info.txt` 24 | - 如果显示两行 UUID 的信息的话,复制不是 System eth0 的那个 UUID 值,下面有用。 25 | - 编辑:`sudo vim /etc/sysconfig/network-scripts/ifcfg-eth0` 26 | - 把文件中的 UUID 值 改为上面要求复制的 UUID 值。 27 | - 保存配置文件,重启系统,正常应该是可以了。 28 | 29 | ## CentOS 7 修改方法 30 | 31 | - 在 VMware 15 Pro 的情况下,直接 copy 进行后,直接修改网卡配置即可 32 | - 编辑该文件:`vim /etc/sysconfig/network-scripts/ifcfg-ens33` 33 | - 把 ip 地址修改即可 -------------------------------------------------------------------------------- /markdown-file/CentOS.md: -------------------------------------------------------------------------------- 1 | # CentOS 介绍 2 | 3 | - CentOS Wiki: 4 | - CentOS 百科: 5 | - CentOS 官网: 6 | - CentOS 的自我介绍: 7 | - CentOS 官网下载: 8 | - CentOS 官网下载(含有旧版本): 9 | - CentOS 国内镜像下载: 10 | - 版本更新记录: 11 | 12 | 13 | 14 | # CentOS 原型系统:Red Hat Enterprise Linux 15 | 16 | 17 | - Red Hat Enterprise Linux Wiki: 18 | - Red Hat Enterprise Linux 百科: 19 | - 衍生版本: 20 | 21 | 22 | # Red Hat Enterprise Linux 后花园系统:Fedora 23 | 24 | - Fedora Wiki: 25 | - Fedora 百科: 26 | - Fedora 官网: 27 | - Fedora 官网桌面版下载: 28 | - Fedora 官网文档: 29 | -------------------------------------------------------------------------------- /markdown-file/CentOS6-and-CentOS7.md: -------------------------------------------------------------------------------- 1 | # CentOS 6 和 CentOS 7 介绍 2 | 3 | ## 总体差异 4 | 5 | - ![总体差异](../images/CentOS6-and-CentOS7-a-1.png) 6 | 7 | ## 想装回过去的一些工具 8 | 9 | - 安装:`yum install -y tree net-tools bind-utils tree sysstat vim-en* lrzsz NetworkManager-tui ntp ntpdate iftop tcpdump telnet traceroute` 10 | 11 | ## 查看版本号/主机名 12 | 13 | - `cat /etc/redhat-release` 14 | - `cat /etc/hostname` 15 | 16 | ## 常用配置差异 17 | 18 | - [CentOS 网络配置](centos-settings/CentOS-Network-Settings.md) 19 | - [CentOS 图形界面的关闭与开启](centos-settings/Close-XWindow.md) 20 | 21 | ## systemctl 的用法 22 | 23 | - 相当于 CentOS 6 的:service nginx stop 24 | - `systemctl is-enabled iptables.service` #查询服务是否开机启动 25 | - `systemctl enable iptables.service` #开机运行服务 26 | - `systemctl disable iptables.service` #取消开机运行 27 | - `systemctl start iptables.service` #启动服务 28 | - `systemctl stop iptables.service` #停止服务 29 | - `systemctl restart iptables.service` #重启服务 30 | - `systemctl reload iptables.service` #重新加载服务配置文件 31 | - `systemctl status iptables.service` #查询服务运行状态 32 | - `systemctl --failed` #显示启动失败的服务 33 | - `systemctl list-units --type=service` #查看所有服务 34 | - `systemctl is-enabled httpd` #查看httpd服务是否开机启动 35 | - 对于启动脚本的存放位置,也不再是 `/etc/init.d/`(这个目录也是存在的),而是 `/usr/lib/systemd/system/` 36 | 37 | ### 开放端口 38 | 39 | - 一般设置软件端口有一个原则: 40 | - 0 ~ 1024 系统保留,一般不要用到 41 | - 1024 ~ 65535(2^16) 可以随意用 42 | - 添加单个端口:`firewall-cmd --zone=public --add-port=8883/tcp --permanent` 43 | - 添加范围端口:`firewall-cmd --zone=public --add-port=8883-8885/tcp --permanent` 44 | - 删除端口:`firewall-cmd --zone=public --remove-port=8883/tcp --permanent` 45 | - 重启防火墙:`firewall-cmd --reload` 46 | - 命令解释: 47 | - `--zone` #作用域 48 | - `--add-port=80/tcp` #添加端口,格式为:端口/通讯协议 49 | - `--permanent` #永久生效,没有此参数重启后失效 50 | - 列出所有端口列表:`firewall-cmd --list-all` 51 | 52 | 53 | ## 关闭 firewall 使用 iptables 54 | 55 | - 关闭 firewall 56 | - `systemctl stop firewalld.service` #停止firewall 57 | - `systemctl disable firewalld.service` #禁止firewall开机启动 58 | - 安装 iptables 59 | - `yum install -y iptables-services` 60 | - 启动 iptables 61 | - `systemctl restart iptables.service` #最后重启防火墙使配置生效 62 | - `systemctl enable iptables.service` #设置防火墙开机启动 63 | - 其他使用照旧 64 | 65 | ## ifconfig 没有了 66 | 67 | - 查看网络配置:`ip a` 68 | - 装回 ifconfig:`yum install -y net-tools` 69 | 70 | ## 设置时区 71 | 72 | - `timedatectl set-timezone Asia/Shanghai` 73 | - `timedatectl status` 74 | 75 | 76 | ## 资料 77 | 78 | - 79 | - 80 | - 81 | - 82 | -------------------------------------------------------------------------------- /markdown-file/Crontab.md: -------------------------------------------------------------------------------- 1 | # Crontab 介绍 2 | 3 | 4 | ## Crontab 安装 5 | 6 | - 查看是否已安装: 7 | - CentOS:`rpm -qa | grep cron` 8 | - Ubuntu:`dpkg -l | grep cron` 9 | 10 | - 安装(一般系统是集成的): 11 | - CentOS 6 / 7:`sudo yum install -y vixie-cron crontabs` 12 | - Ubuntu:`sudo apt-get install -y cron` 13 | 14 | - 服务常用命令 15 | - CentOS 6 16 | - `service crond start` 启动服务 17 | - `service crond stop` 关闭服务 18 | - `service crond restart` 重启服务 19 | - CentOS 7 20 | - `systemctl start crond` 启动服务 21 | - `systemctl restart crond` 重新启动服务 22 | - `systemctl status crond` 加入自启动 23 | - `systemctl stop crond` 关闭服务 24 | 25 | 26 | ## Crontab 服务器配置文件常用参数 27 | 28 | - 配置文件介绍(记得先备份):`sudo vim /etc/crontab` 29 | - 注意:不要在配置文件里面写相对路径 30 | - 该配置格式解释: 31 | - ![Crontab 服务器配置文件常用参数](../images/Crontab-a-1.jpg) 32 | - 常用例子介绍: 33 | - `30 21 * * * service httpd restart` #每晚的 21:30 重启 apache 34 | - `30 21 * * 6,0 service httpd restart` #每周六、周日的 21:30 重启 apache 35 | - `45 4 1,10,22 * * service httpd restart` #每月的 1、10、22 日的 4:45 重启 apache 36 | - `45 4 1-10 * * service httpd restart` #每月的 1 到 10 日的 4:45 重启 apache 37 | - `*/2 * * * * service httpd restart` #每隔两分钟重启 apache 38 | - `1-59/2 * * * * service httpd restart` #每隔两分钟重启 apache(这个比较特殊:1-59/2 这个表示过掉0分,从 1 分开始算,每隔两分执行,所以 1 分执行了,3 分执行了,5 分执行了....都是奇数进行执行。默认的 */2 都是偶数执行。) 39 | - `* */2 * * * service httpd restart` #每隔两小时重启 apache 40 | - `0 23-7/2 * * * service httpd restart` #晚上 11 点到早上 7 点之间,每隔 2 个小时重启 apache 41 | - `0-59/30 18-23 * * * service httpd restart` #每天 18:00 到 23:00 之间,每隔 30 分钟重启 apache(方法一) 42 | - `0,30 18-23 * * * service httpd restart` #每天 18:00 到 23:00 之间,每隔 30 分钟重启 apache(方法二) 43 | - `0 4 * * sun root /opt/shell/crontab-redis-restart.sh` #每周日 4:00 执行一个脚本(root 用户运行,有些脚本不指定用户会报:ERROR (getpwnam() failed) 44 | - 更多例子可以看: 45 | - 执行记录日志:`tail -f /var/log/cron`(如果发现任务不执行,可以来这里盯着日志看) 46 | 47 | 48 | ## Crontab 权限问题 49 | 50 | - 一般默认只有 root 用户可以使用 51 | - 如果要指定某个用户可以使用,可以在 /etc/cron.allow 添加(不存在文件就创建一个) 52 | - 如果要指定某个用户不可以使用,可以在 /etc/cron.deny 添加(不存在文件就创建一个) 53 | - 如果一个用户同时在两个文件都存在,那则以 allow 为准 54 | 55 | ## Crontab 不执行 56 | 57 | - Crontab 不执行原因有很多,可以 Google 搜索:`Crontab 不执行`,这里不多说。 58 | 59 | ## Crontab 资料 60 | 61 | - 62 | - 63 | -------------------------------------------------------------------------------- /markdown-file/ELK-Install-And-Settings.md: -------------------------------------------------------------------------------- 1 | # ELK(Elasticsearch、Logstash、Kibana)安装和配置 2 | 3 | ## 版本说明 4 | 5 | - 本文包含了:Elasticsearch 2.4.X 和 Elasticsearch 5.2.X 和 Elasticsearch 5.5.X,请有针对性地选择。 6 | 7 | ## 教程说明 8 | 9 | 10 | - 官网: 11 | - 官网总文档: 12 | - 官网最终指南: 13 | - 官网对各个系统的支持列表: 14 | - 5.2 版本有一个设置的新特性必须了解,测试建议我们用 CentOS 7: 15 | - Elasticsearch 开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful 风格接口,多数据源,自动搜索负载等。 16 | - Logstash 日志进行收集、分析,并将其存储供以后使用(如,搜索) 17 | - kibana 为 Logstash 和 ElasticSearch 提供的日志分析友好的 Web 界面,可以帮助您汇总、分析和搜索重要数据日志。 18 | 19 | 20 | ### Elasticsearch 部署 21 | 22 | - 请看 Elasticsearch 专题文:[Elasticsearch 相关知识](Elasticsearch-Base.md) 23 | 24 | 25 | ### logstash 26 | 27 | - 请看 logstash 专题文:[logstash 相关知识](Logstash-Base.md) 28 | 29 | 30 | 31 | ## 资料 32 | 33 | - 34 | - 35 | - 36 | - 37 | - <> 38 | - <> 39 | -------------------------------------------------------------------------------- /markdown-file/File-Extract-Compress.md: -------------------------------------------------------------------------------- 1 | # Linux 下常用压缩文件的解压、压缩 2 | 3 | 4 | ## 常用压缩包--解压--令整理 5 | 6 | - Linux 后缀为 `.war` 格式的文件(一般用在部署 Tomcat 项目的时候) 7 | - 命令:`unzip -oq XXXXXX.war -d ROOT` 8 | - 如果没有 ROOT 目录会自动创建 ROOT 目录。 9 | 10 | - Linux 后缀为 `.tar.gz` 格式的文件-解压 11 | - 命令:`tar zxvf XXXXXX.tar.gz` 12 | 13 | - Linux 后缀为 `.bz2` 格式的文件-解压 14 | - 命令:`bzip2 -d XXXXXX.bz2` 15 | 16 | - Linux 后缀为 `.tar.bz2` 格式的文件-解压 17 | - 命令:`tar jxvf XXXXXX.tar.bz2` 18 | 19 | - Linux 后缀为 `.tar` 格式的文件-解压 20 | - 命令:`tar zxvf XXXXXX.tar` 21 | 22 | - Linux 后缀为 `.gz` 格式的文件-解压 23 | - 命令:`gunzip XXXXXX.gz` 24 | 25 | - Linux 后缀为 `.zip` 格式的文件-解压 26 | - 命令:`unzip XXXXXX.zip` 27 | - 命令:`unzip XXXXXX.zip -d /opt/`,解压到指定目录 28 | 29 | - Linux 后缀为 `.7z` 格式的文件-解压 30 | - 命令:`7za x XXXXXX.7z` 31 | 32 | - Linux 后缀为 `.tar.xz` 格式的文件-解压,解压出来是tar,再对tar进行解压 33 | - 命令:`tar xf XXXXXX.tar.xz` 34 | 35 | 36 | 37 | ----------------------------------------------------------- 38 | 39 | 40 | ## 常用文件进行--压缩--命令整理 41 | 42 | - Linux 压缩文件夹为后缀 `.war` 格式的文件(最好不要对根目录进行压缩,不然会多出一级目录) 43 | - 命令:`jar -cvfM0 cas.war /opt/cas/META-INF /opt/cas/WEB-INF /opt/cas/index.jsp` 44 | - 或者命令:`cd 项目根目录 ; jar -cvfM0 cas.war ./*` 45 | 46 | - Linux 压缩文件为后缀 `.tar` 格式的文件 47 | - 命令:`tar -zcvf test11.tar test11` 48 | 49 | - Linux 压缩文件为后缀 `.tar.gz` 格式的文件 50 | - 命令:`tar -zcvf test11.tar.gz test11` 51 | 52 | - Linux 压缩文件为后缀 `.bz2` 格式的文件 53 | - 命令:`bzip2 -v test.txt` 54 | 55 | - Linux 压缩文件为后缀 `.tar.bz2` 格式的文件 56 | - 命令:`tar -jcvf test11.tar.gz test11` 57 | 58 | - Linux 压缩文件为后缀 `.zip` 格式的文件 59 | - 命令:`zip -r test1.zip /opt/test1/` 60 | 61 | - Linux 压缩文件为后缀 `.7z` 格式的文件 62 | - 命令:`7za a test1.7z /opt/test1/` 63 | 64 | 65 | ## 分卷压缩 66 | 67 | - 分卷压缩:`zip -s 100M myFile.zip --out newFile.zip` 68 | - 最终效果: 69 | 70 | ``` 71 | newFile.z01 72 | newFile.z02 73 | newFile.z03 74 | newFile.z04 75 | newFile.zip 76 | ``` 77 | 78 | 79 | ## 特殊格式 80 | 81 | - 7z 82 | - 7z 的安装: 83 | - 访问官网下载解压包: 84 | - 解压压缩包:`tar jxvf p7zip_15.14_src_all.tar.bz2` 85 | - 进入目录:`cd p7zip_15.14` 86 | - 执行安装:`sh install.sh` 87 | - rar 88 | - rar 的安装: 89 | - 下载:`wget http://www.rarlab.com/rar/rarlinux-3.8.0.tar.gz` 90 | - 解压下载下来的压缩包:`tar zxvf rarlinux-3.8.0.tar.gz` 91 | - 进入解压后目录:`cd rar` 92 | - 编译:`make` 93 | - 安装:`make install` 94 | - rar 解压:`rar x 文件名.rar` 95 | 96 | ## jar 包操作 97 | 98 | ### 修改 jar 包配置文件 99 | 100 | - 命令:`vim mytest.jar`,这时候会展示 jar 中所有层级目录下的所有文件 101 | - 输入:`/log4j2.xml` 回车,光标定位到该文件,然后再回车,进入编辑该文件状态 102 | - 此时可以修改配置文件了,修改后 `:wq` 保存退出,接着 `:q` 退出 jar 编辑状态 103 | 104 | ### 更新 Jar 包中的文件 105 | 106 | - 替换(新增)jar 根目录下的文件:`jar uvf mytest.jar ClassToAdd.class` 107 | - 一般 class 文件都是在多层目录里面的,需要这样做:`jar uvf mytest.jar com/youmeek/ClassToAdd.class` 108 | - 需要在 jar 所在的文件夹下创建:`mkdir -p ./com/youmeek`,该目录必须和原 jar 里面的层级目录结构一致 109 | 110 | 111 | ## 资料 112 | 113 | - 114 | 115 | -------------------------------------------------------------------------------- /markdown-file/Glances-Install-And-Settings.md: -------------------------------------------------------------------------------- 1 | # Glances 安装和配置 2 | 3 | ## Glances 介绍 4 | 5 | - 相对 top、htop,它比较重,因此内容也比较多。小机子一般不建议安装。大机子一般也不建议一直开着。 6 | - 官网: 7 | - 官网 Github: 8 | - 官网文档: 9 | - 当前(201810)最新版本为 3.0.2 10 | 11 | 12 | ## Glances Linux 安装 13 | 14 | - `curl -L https://bit.ly/glances | /bin/bash` 15 | - 需要 5 ~ 10 分钟左右。 16 | 17 | ## 用法 18 | 19 | #### 本地监控 20 | 21 | - 进入实时监控面板(默认 3 秒一次指标):`glances` 22 | - 每间隔 5 秒获取一次指标:`glances -t 5` 23 | - 在控制面板中可以按快捷键进行排序、筛选 24 | 25 | ``` 26 | m : 按内存占用排序进程 27 | p : 按进程名称排序进程 28 | c : 按 CPU 占用率排序进程 29 | i : 按 I/O 频率排序进程 30 | a : 自动排序进程 31 | d : 显示/隐藏磁盘 I/O 统计信息 32 | f : 显示/隐藏文件系统统计信息 33 | s : 显示/隐藏传感器统计信息 34 | y : 显示/隐藏硬盘温度统计信息 35 | l : 显示/隐藏日志 36 | n : 显示/隐藏网络统计信息 37 | x : 删除警告和严重日志 38 | h : 显示/隐藏帮助界面 39 | q : 退出 40 | w : 删除警告记录 41 | ``` 42 | 43 | 44 | #### 监控远程机子 45 | 46 | - 这里面的检控方和被监控的概念要弄清楚 47 | - 作为服务端的机子运行(也就是被监控方):`glances -s` 48 | - 假设它的 IP 为:192.168.1.44 49 | - 必需打开 61209 端口 50 | - 作为客户端的机子运行(要查看被检控方的数据):`glances -c 192.168.1.44` 51 | - 这时候控制台输出的内容是被监控机子的数据 52 | 53 | 54 | ## 导出数据 55 | 56 | - 个人测试没效果,后续再看下吧。 57 | - 官网文档: 58 | - 导出 CSV:`glances --export-csv /tmp/glances.csv` 59 | - 导出 JSON:`glances --export-json /tmp/glances.json` 60 | 61 | ## 资料 62 | 63 | - 64 | - 65 | - 66 | - 67 | - 68 | - 69 | -------------------------------------------------------------------------------- /markdown-file/Hsk-Install.md: -------------------------------------------------------------------------------- 1 | # 花生壳 安装 2 | 3 | 4 | ## CentOS 下过程 5 | 6 | - 官网: 7 | - 官网下载: 8 | - 官网安装说明: 9 | - 软件包下载:`wget http://download.oray.com/peanuthull/linux/phddns-2.0.6.el6.x86_64.rpm` 10 | - 安装:`sudo yum localinstall -y phddns-2.0.6.el6.x86_64.rpm` 11 | - 配置: 12 | - 安装完毕后,在终端下运行:`phddns` 13 | - 第一步::Enter server address(press ENTER use phddns60.oray.net),这是提示您输入花生壳服务器的域名,如果网站上没有更新域名的公告说明,这一步直接回车即可,会使用默认的 phddns60.oray.net 域名。 14 | - 第二步:Enter your Oray account:这是提示您输入在花生壳官网注册的用户名,请根据实际情况输入。 15 | - 第三步:Password:这是提示您输入在花生壳官网注册的用户名所对应的密码,请根据实际情况输入。 16 | - 第四步:Network interface(s): 这是要配置您这台服务器的网络参数,花生壳(公网版)软件会自动检查,并输出您的网络情况。eth0部分可能和上面的不一样,是您的实际网络设置。如果您有两块网卡,eth0 和eth1 ,而您希望用eth1来绑定花生壳,请在这里输入 eth1 ,然后回车。如果您只有一块网卡,或者您希望使用 eth0来绑定花生壳,在这里直接回车即可。 17 | - 第五步:Log to use(default /var/log/phddns.log):这是提示您输入花生壳(公网版)软件日志的保存位置,请使用绝对路径指定日志文件名。如果直接回车,会使用 /var/log/phddns.log 来保存日志。 18 | - 第六步: Save to configuration file (/etc/phlinux.conf)?(yes/no/other): 这是提示您输入上述配置的保存文件名。如果输入yes 或直接回车,将会使用/etc/phlinux.conf 来作为配置的保存文件名。如果输入other ,将会提示您自行指定文件名,请使用绝对路径来指定这个配置文件名。如果输入no ,不对上述配置进行保存,下次重新使用花生壳(公网版)时,需要手动指定配置文件或再次通过交互模式进行设置. 19 | - 第六步执行完毕后,屏幕上会依次出现:defOnStatusChanged ok,DomainsRegistered,UserType,表示安装、配置完成了 20 | - 启动服务:`/usr/bin/phddns -c /etc/phlinux.conf -d` 21 | - 设置开机启动:`echo "/usr/bin/phddns -c /etc/phlinux.conf -d" >> /etc/rc.local` 22 | - 查看进程:`ps -ef | grep phddns` 23 | - 卸载: 24 | - `rpm -qa|grep phddns` 25 | - `sudo rpm -e phddns-2.0.6-1.el6.x86_64` 26 | 27 | 28 | ## 资料 29 | 30 | - 31 | -------------------------------------------------------------------------------- /markdown-file/Influxdb-Install-And-Settings.md: -------------------------------------------------------------------------------- 1 | # Influxdb 安装和配置 2 | 3 | 4 | 5 | ## Influxdb Docker 安装 6 | 7 | - 官网库: 8 | 9 | 10 | ``` 11 | docker run -d --name influxdb \ 12 | -p 8086:8086 -p 8083:8083 \ 13 | -e INFLUXDB_HTTP_AUTH_ENABLED=true \ 14 | -e INFLUXDB_ADMIN_ENABLED=true -e INFLUXDB_ADMIN_USER=admin -e INFLUXDB_ADMIN_PASSWORD=123456 \ 15 | -e INFLUXDB_DB=mydb1 \ 16 | -v /Users/gitnavi/docker_data/influxdb/data:/var/lib/influxdb influxdb 17 | ``` 18 | 19 | 20 | - 进入终端交互: 21 | 22 | ``` 23 | docker exec -it influxdb /bin/bash 24 | 25 | 输入:influx,开始终端交互 26 | 27 | auth admin 123456 28 | show databases; 29 | 30 | use springboot 31 | show measurements 32 | 33 | show series from "jvm_buffer_total_capacity" 34 | 35 | select * from "jvm_buffer_total_capacity" 36 | 37 | 38 | 如果你要再额外创建数据库: 39 | create database demo 40 | 41 | 如果你要再创建用户: 42 | create user "myuser" with password '123456' with all privileges 43 | ``` 44 | 45 | 46 | ---------------------------------------------------------------------------------------------- 47 | 48 | ## 配置 49 | 50 | 51 | 52 | ---------------------------------------------------------------------------------------------- 53 | 54 | 55 | 56 | ---------------------------------------------------------------------------------------------- 57 | 58 | 59 | ## 其他资料 60 | 61 | - 62 | - <> 63 | - <> 64 | - <> 65 | - <> 66 | - <> 67 | - <> 68 | - <> 69 | - <> 70 | 71 | -------------------------------------------------------------------------------- /markdown-file/Iptables.md: -------------------------------------------------------------------------------- 1 | # Iptables 介绍 2 | 3 | 4 | ## 前提说明 5 | 6 | iptables 的设置在 CentOS 和 Ubuntu 下有些细节不一样,Ubuntu 这里不讲,文章底下贴的资料有部分关于 Ubuntu 的,有需要的可以自己看。一般大家会用到 iptables 都是服务器,而一般服务器大家普遍是用 CentOS) 7 | 8 | ## Iptables 安装 9 | 10 | - 查看是否已安装: 11 | - CentOS:`rpm -qa | grep iptables` 12 | 13 | - 安装(一般系统是集成的): 14 | - CentOS 6:`yum install -y iptables` 15 | 16 | ## Iptables 的配置文件 17 | 18 | - 路径:`vim /etc/sysconfig/iptables` 19 | 20 | ## Iptables 服务器配置文件常用参数 21 | 22 | - 常用命令: 23 | - 查看已有规则列表,并且显示编号:`iptables -L -n --line-numbers` 24 | - ![Iptables 服务器配置文件常用参数](../images/Iptables-a-1.jpg) 25 | - 要删除 INPUT 里序号为 8 的规则,执行:`iptables -D INPUT 8` 26 | - 保存配置命令:`service iptables save 或者 /etc/rc.d/init.d/iptables save` 27 | - 重启服务命令 :`service iptables restart` 28 | - 查看服务状态: `service iptables status` 29 | - 设置开启默认启动: `chkconfig --level 345 iptables on` 30 | - 清除所有规则(慎用) 31 | - `iptables -F` 32 | - `iptables -X` 33 | - `iptables -Z` 34 | - 添加规则:格式 `iptables [-AI 链名] [-io 网络接口] [-p 协议] [-s 来源IP/网域] [-d 目标IP/网域] -j [ACCEPT|DROP|REJECT|LOG]` 35 | - 选项与参数: 36 | - -AI 链名:针对某的链进行规则的 "插入" 或 "累加" 37 | - -A :新增加一条规则,该规则增加在原本规则的最后面。例如原本已经有四条规则,使用 -A 就可以加上第五条规则! 38 | - -I :插入一条规则。如果没有指定此规则的顺序,默认是插入变成第一条规则。例如原本有四条规则,使用 -I 则该规则变成第一条,而原本四条变成 2~5 号链 :有 INPUT, OUTPUT, FORWARD 等,此链名称又与 -io 有关,请看底下。 39 | - -io 网络接口:设定封包进出的接口规范 40 | - -i :封包所进入的那个网络接口,例如 eth0, lo 等接口。需与 INPUT 链配合; 41 | - -o :封包所传出的那个网络接口,需与 OUTPUT 链配合; 42 | - -p 协定:设定此规则适用于哪种封包格式。主要的封包格式有: tcp, udp, icmp 及 all 。 43 | - -s 来源 IP/网域:设定此规则之封包的来源项目,可指定单纯的 IP 或包括网域,例如:IP:192.168.0.100,网域:192.168.0.0/24, 192.168.0.0/255.255.255.0 均可。若规范为『不许』时,则加上 ! 即可,例如:-s ! 192.168.100.0/24 表示不许 192.168.100.0/24 之封包来源。 44 | - -d 目标 IP/网域:同 -s ,只不过这里指的是目标的 IP 或网域。 45 | - -j :后面接动作,主要的动作有接受(ACCEPT)、丢弃(DROP)、拒绝(REJECT)及记录(LOG) 46 | 47 | ## Iptables 例子 48 | 49 | - 开放指定端口 50 | - `iptables -I INPUT -i lo -j ACCEPT` #允许本地回环接口(即运行本机访问本机) 51 | - `iptables -I INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT` # 允许已建立的或相关连的通行 52 | - `iptables -I OUTPUT -j ACCEPT` #允许所有本机向外的访问 53 | - `iptables -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT` # 允许访问 22 端口 54 | - `iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT` #允许访问 80 端口 55 | - `iptables -A INPUT -p tcp -m tcp --dport 8080 -j ACCEPT` #允许访问 8080 端口 56 | - `iptables -A INPUT -p tcp -m tcp --dport 21 -j ACCEPT` #允许 FTP 服务的 21 端口 57 | - `iptables -A INPUT -p tcp -m tcp --dport 20 -j ACCEPT` #允许 FTP 服务的 20 端口 58 | - `iptables -I INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT` #允许 ping 59 | - `iptables -I INPUT -j REJECT` #禁止其他未允许的规则访问(使用该规则前一定要保证 22 端口是开着,不然就连 SSH 都会连不上) 60 | - `iptables -I FORWARD -j REJECT` 61 | 62 | ## Iptables 资料 63 | 64 | - 65 | - 66 | -------------------------------------------------------------------------------- /markdown-file/Jira-Install-And-Settings.md: -------------------------------------------------------------------------------- 1 | # Jira 安装和配置 2 | 3 | ## Jira 7.13.3 4 | 5 | - 最新 7.13.3 版本时间:2019-04 6 | 7 | #### 数据库 8 | 9 | ``` 10 | docker run \ 11 | --name mysql-jira \ 12 | --restart always \ 13 | -p 3306:3306 \ 14 | -e MYSQL_ROOT_PASSWORD=adg123456 \ 15 | -e MYSQL_DATABASE=jira_db \ 16 | -e MYSQL_USER=jira_user \ 17 | -e MYSQL_PASSWORD=jira_123456 \ 18 | -d \ 19 | mysql:5.7 20 | ``` 21 | 22 | - 连上容器:`docker exec -it mysql-jira /bin/bash` 23 | - 连上 MySQL:`mysql -u root -p` 24 | - 设置编码:**必须做这一步,不然配置过程会报错,JIRA 的 DB 要求是 utf8mb4** 25 | 26 | ``` 27 | SET NAMES 'utf8mb4'; 28 | alter database jira_db character set utf8mb4; 29 | ``` 30 | 31 | 32 | #### 安装 33 | 34 | - 下载: 35 | - 选择:tar.gz 类型下载 36 | - 解压:`tar zxvf atlassian-jira-software-7.13.3.tar.gz` 37 | - 创建 home 目录:`mkdir /usr/local/atlassian-jira-software-7.13.3-standalone/data` 38 | - 配置 home 变量: 39 | 40 | ``` 41 | 编辑:vim ~/.zshrc 42 | 43 | 在文件尾部添加: 44 | 45 | JIRA_HOME=/usr/local/atlassian-jira-software-7.13.3-standalone/data 46 | export JIRA_HOME 47 | 48 | 49 | 刷新配置:`source ~/.zshrc` 50 | ``` 51 | 52 | - 设置 MySQL 连接: 53 | - 把 mysql-connector-java-5.1.47.jar 放在目录 `/usr/local/atlassian-jira-software-7.13.3-standalone/atlassian-jira/WEB-INF/lib` 54 | 55 | 56 | #### License 过程 57 | 58 | - 参考自己的为知笔记 59 | 60 | #### 运行 61 | 62 | - 启动:`sh /usr/local/atlassian-jira-software-7.13.3-standalone/bin/start-jira.sh` 63 | - 停止:`sh /usr/local/atlassian-jira-software-7.13.3-standalone/bin/stop-jira.sh` 64 | - `ps -ef | grep java` 65 | - 查看 log:`tail -300f /usr/local/atlassian-jira-software-7.13.3-standalone/logs/catalina.out` 66 | - 访问: 67 | - 注意防火墙配置 68 | - 如果需要更换端口号可以修改:`/usr/local/atlassian-jira-software-7.13.3-standalone/conf/server.xml` 文件中的内容。 69 | 70 | 71 | #### 中文化 72 | 73 | - 从 7.x 版本默认已经有中文支持,不需要再汉化了 74 | - 在安装后首次进入的时候就可以配置,选择中文了 75 | 76 | 77 | #### 首次配置 78 | 79 | - 参考文章: 80 | - 因为步骤一样,所以我就不再截图了。 81 | 82 | 83 | -------------------------------------------------------------------------------- /markdown-file/Kibana-Base.md: -------------------------------------------------------------------------------- 1 | # kibana 知识 2 | 3 | ## 基础知识 4 | 5 | - 官网文档: 6 | 7 | ### 安装 Kibana 8 | 9 | - CentOS 7.4 10 | - 至少需要 500M 内存 11 | - 官网文档: 12 | - 官网文档 CentOS: 13 | - 添加 KEY:`rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch` 14 | - 添加源:`vim /etc/yum.repos.d/kibana.repo` 15 | 16 | ``` 17 | [kibana-6.x] 18 | name=Kibana repository for 6.x packages 19 | baseurl=https://artifacts.elastic.co/packages/6.x/yum 20 | gpgcheck=1 21 | gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch 22 | enabled=1 23 | autorefresh=1 24 | type=rpm-md 25 | ``` 26 | 27 | - 开始安装:`yum install -y kibana`,预计文件有 200M 左右,国内网络安装可能会很慢,慢慢等 28 | - 安装完后会多了一个:kibana 用户和组 29 | - 启动和停止软件(默认是不启动的): 30 | - 启动:`systemctl start kibana.service` 31 | - 状态:`systemctl status kibana.service` 32 | - 停止:`systemctl stop kibana.service` 33 | - 重新启动:`systemctl restart kibana.service` 34 | - 安装完成后,增加系统自启动: 35 | - `/bin/systemctl daemon-reload` 36 | - `/bin/systemctl enable kibana.service` 37 | 38 | #### RPM 安装后的一些配置位置说明 39 | 40 | - 官网文档 CentOS: 41 | - 配置文件的参数说明: 42 | - kibana 安装后位置:`/usr/share/kibana` 43 | - kibana 的配置文件:`/etc/kibana/kibana.yml` 44 | - Log 位置:`/var/log/kibana/` 45 | - 数据位置:`/var/lib/kibana` 46 | - 插件位置:`/usr/share/kibana/plugins` 47 | 48 | 49 | #### 配置 50 | 51 | - 编辑配置文件:`vim /etc/kibana/kibana.yml` 52 | - 默认只能 localhost 访问,修改成支持外网访问 53 | 54 | ``` 55 | 打开这个注释:#server.host: "localhost" 56 | 改为:server.host: "0.0.0.0" 57 | ``` 58 | 59 | - 然后你可以访问:`http://192.168.0.105:5601`,可以看到 kibana 的相关界面。 60 | - 1. Create index pattern 61 | - 如果你 Elasticsearch 新创建了索引,kibana 是不会自动帮你匹配到的,所以要匹配新索引,这一步都要走 62 | - 2. Discover | 右上角筛选时间区间 63 | - 这一步非常重要,里面的 filter,图表等都是基于此时间区间的 64 | - 在 logstash 安装这一步,如果你刚刚有按着我说的去做一个 elasticsearch 索引,那你此时不会看到这样的提示:`Unable to fetch mapping. Do you have indices matching the pattern?` 65 | - 此时你可以直接点击 `create` 统计 `logstash-*` 格式的索引结果,看到相关内容 66 | - 如果你知道你的索引名称的规则,比如我现在要统计 Tomcat 的相关索引,我的索引名称是:`tomcat-log-*`,则我输入这个,点击:create 即可。 67 | 68 | 69 | ## 资料 70 | 71 | - <> 72 | - <> -------------------------------------------------------------------------------- /markdown-file/Linux.md: -------------------------------------------------------------------------------- 1 | # Linux 介绍 2 | 3 | 4 | 5 | ## Linux 这个名字 6 | 7 | Linux 的 Wiki 介绍: 8 | 9 | Linux 也称:`GNU/Linux`,而其中 GNU 的全称又是:`Gnu’s Not Unix`。 10 | 11 | 其中 GNU 放前面是有原因的,GNU 介绍: 12 | 13 | 对于 Linux 和 GNU/Linux 的两种叫法是有争议,可以看下面文章: 14 | 15 | 其实我们可以认为:Linux 本质是指 Linux 内核,而称 GNU/Linux 则代表这是一个系统,所以我认为 Debian 的这个叫法是合理的,但是确实有点不好念和记忆。所以普遍大家直接称作 Linux。 16 | 17 | 通过上面的全称和资料其实我们也就了解到,Linux 本质来源不是 Unix,但是它借鉴了 Unix 的设计思想,所以在系统业界上把这种和 Unix 是一致设计思想的系统归为:`类 Unix 系统`。 18 | 19 | 类 Unix 系统的介绍: 20 | 21 | 类 Unix 系统,除了我们今天要讲的 Linux,还有大家熟知的 Mac OS X、FreeBSD(这两个是直接从 Unix 系发展过来的,所以相对 Linux 是比较地道的类 Unix 系统) 22 | 23 | - FreeBSD 介绍: 24 | - Mac OS X 介绍: 25 | 26 | ## Linux 的发行版本 27 | 28 | Linux 的 Wiki 中有这句话: 29 | 30 | > 通常情况下,Linux 被打包成供个人计算机和服务器使用的 Linux 发行版,一些流行的主流 Linux 发布版,包括 Debian(及其派生版本 Ubuntu、Linux Mint)、Fedora(及其相关版本 Red Hat Enterprise Linux、CentOS)和 openSUSE、ArchLinux(这个是我补充的)等。 31 | 32 | **通过上面这句话我做了总结,我个人觉得应该这样分:** 33 | 34 | - Fedora、RHEL、Centos 是一个系,他们的区别: 35 | - Debian、Ubuntu 是一个系的,他们的区别直接看 Ubuntu 的 Wiki 就可以得知: 36 | - ArchLinux 自己一个系: 37 | - openSUSE 自己一个系: 38 | 39 | **根据用途可以再总结:** 40 | 41 | - Fedora 系业界一般用于做服务器 42 | - Debian 系业界一般用于桌面,移动端,TV这一类 43 | - ArchLinux 系,很轻量的Linux,适合有一定Linux基础,并且爱折腾的人使用,用它做桌面或是服务器都行。 44 | - OpenSuse 系,嘛,嗯…人气相对比较差,一般是服务器。 45 | 46 | 其实 Linux 的发行版本有太多了,我也只是简单说下常见的而已,具体可以看: 47 | 48 | ## Linux 作用 49 | 50 | 为什么要用 Linux 系统?大家常看到的说法是这样的: 51 | 52 | > Linux 是一个开源的,有潜力,安全,免费的操作系统 53 | 54 | 我觉得这几个点都比较虚, 特别是免费这东西,在景德镇应该算是最不值钱的东西。作为系统的上层使用者来讲,我们之所以喜欢某个操作系统就是因为它可以加快的你生产效率,提高产能。我推荐 Linux 也只是因为它适合常见的编程语言做开发环境,仅此一点。 55 | 56 | **所有,对此我的总结就是:** 57 | 58 | 如果你是某种语言的开发者,你从事这个行业,不管你怎么学习下去,Linux 永远绕不开。从简单的各种语言开发,到后期的服务器部署,分布式,集群环境,数据库相关等,Linux 都在等着你。如果你是新手程序员可能还不太懂我这句话,但是我这里可以这样提示:你可以认真去看下各个语言的官网、对应的开发组件官网,看下他们的下载和新手上路相关页面,都会有 Linux 系统对应的介绍,但是不一定有会 Windows。(P.S:微软系、美工等设计系是唯一这个总结之外的人) 59 | 60 | 在认识 Linux 作用上我以下面这边文章为结尾。Linux 和 Mac OS X 都是类 Unix 系统,所以这篇文章中基本上的理由都可以用到 Linux 上的。 61 | 为什么国外程序员爱用 Mac? 62 | 63 | ## 推荐的发行版本 64 | 65 | **Ubuntu:适用于开发机** 66 | 67 | **推荐版本:Ubuntu kylin 15.10** 68 | 69 | - Ubuntu kylin 官网: 70 | - Ubuntu 英文官网: 71 | - Ubuntu 中文官网: 72 | - 网易镜像: 73 | - 阿里云镜像: 74 | - Ubuntu kylin 15.10 **64 位**镜像地址: 75 | 76 | **推荐理由:** 77 | 78 | 我们是要在上面做开发的,不是要把他变成生活用机的,所以你认为自己尝试安装各种中文输入法很爽吗?自己尝试让国际 Ubuntu 版变成又一个符合国情的 kylin 很爽吗?真心别折腾这些没用的东西。就像我以前说的,大学老师让 Java 新手使用记事本写代码就是一种非常 shit 行为,不断地在 Windows 上用 `cmd > javac` 是毫无意义的。 79 | 80 | ------ 81 | 82 | **CentOS:适用于服务器机** 83 | 84 | **推荐版本:6.7** 85 | 86 | - CentOS 官网: 87 | - 网易镜像: 88 | - 阿里云镜像: 89 | - CentOS 6.7 **64 位**镜像地址: 90 | 91 | **推荐理由:** 92 | 93 | Fedora(CentOS、RHEL) 系,是在国内外,作为企业服务器的系统最多,没有之一。我在 Quora 和知乎上也搜索了下,基本上大家都是赞同这个观点的。 94 | -------------------------------------------------------------------------------- /markdown-file/Maven-Install-And-Settings.md: -------------------------------------------------------------------------------- 1 | # Maven 安装和配置 2 | 3 | ## Maven 资料 4 | 5 | - 官网: 6 | - 官网下载: 7 | - 历史版本下载: 8 | - 此时(20160208) Maven 最新版本为:**3.3.9** 9 | 10 | ## Maven 安装(bash 环境) 11 | 12 | - Maven 3.3 的 JDK 最低要求是 JDK 7 13 | - 下载压缩包:`wget http://mirrors.cnnic.cn/apache/maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.tar.gz` 14 | - 解压:`tar zxvf apache-maven-3.3.9-bin.tar.gz` 15 | - 修改目录名,默认的太长了:`mv apache-maven-3.3.9/ maven3.3.9/` 16 | - 移到我个人习惯的安装目录下:`mv maven3.3.9/ /usr/local` 17 | - 环境变量设置:`vim /etc/profile` 18 | - 在文件最尾巴添加下面内容: 19 | 20 | ``` ini 21 | # Maven 22 | MAVEN_HOME=/usr/local/maven3.3.9 23 | M3_HOME=/usr/local/maven3.3.9 24 | PATH=$PATH:$M3_HOME/bin 25 | MAVEN_OPTS="-Xms256m -Xmx356m" 26 | export M3_HOME 27 | export MAVEN_HOME 28 | export PATH 29 | export MAVEN_OPTS 30 | ``` 31 | 32 | - 刷新配置文件:`source /etc/profile` 33 | - 测试是否安装成功:`mvn -version` 34 | 35 | ## Maven 配置 36 | 37 | - 创建本地参数:`mkdir -p /opt/maven-repository` 38 | - 配置项目连接上私服 39 | - 编辑配置文件:`vim /usr/local/maven3.3.9/conf/settings.xml` 40 | 41 | ``` xml 42 | 43 | 44 | 45 | 46 | 47 | /opt/maven-repository 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | nexus-releases 59 | admin 60 | admin123 61 | 62 | 63 | nexus-snapshots 64 | admin 65 | admin123 66 | 67 | 68 | 69 | 70 | 71 | 72 | aliyun-releases 73 | * 74 | http://maven.aliyun.com/nexus/content/groups/public/ 75 | 76 | 77 | aliyun-snapshots 78 | * 79 | http://maven.aliyun.com/nexus/content/groups/public/ 80 | 81 | 82 | 83 | 84 | ``` 85 | 86 | 87 | 88 | 89 | ## 资料 90 | 91 | - 92 | - 93 | - 94 | - 95 | - 96 | - 97 | - 98 | - -------------------------------------------------------------------------------- /markdown-file/Mysql-Tutorial.md: -------------------------------------------------------------------------------- 1 | # Mysql 教程 2 | 3 | 4 | ## Mysql 常用命令 5 | 6 | 7 | 8 | ## 资料 9 | 10 | - [MySQL Tutorial-1](http://www.tutorialspoint.com/mysql/) 11 | - [MySQL Tutorial-2](http://www.mysqltutorial.org/) 12 | - [MySQL Tutorial-3](http://zetcode.com/databases/mysqltutorial/) 13 | - [MySQL 教程-1](http://www.runoob.com/mysql/mysql-connection.html) 14 | - [MySQL 教程-2](http://www.w3school.com.cn/sql/) 15 | - [MySQL 教程-3](https://wizardforcel.gitbooks.io/w3school-sql/content/part7.html) 16 | -------------------------------------------------------------------------------- /markdown-file/NFS.md: -------------------------------------------------------------------------------- 1 | # NFS(Network FileSystem)介绍 2 | 3 | 4 | 5 | ## NFS 安装 6 | 7 | - 查看是否已安装: 8 | - CentOS:`rpm -qa | grep nfs-*` 9 | - Ubuntu:`dpkg -l | grep nfs-*` 10 | 11 | - 安装: 12 | - CentOS 5:`sudo yum install -y nfs-utils portmap` 13 | - CentOS 6:`sudo yum install -y nfs-utils rpcbind` 14 | - Ubuntu:`sudo apt-get install -y nfs-common nfs-kernel-server` 15 | 16 | ## NFS 服务器配置文件常用参数 17 | 18 | - 配置文件介绍(记得先备份):`sudo vim /etc/exports` 19 | - 默认配置文件里面是没啥内容的,我们需要自己加上配置内容,一行表示共享一个目录。为了方便使用,共享的目录最好将权限设置为 777(`chmod 777 folderName`)。 20 | - 假设在配置文件里面加上:`/opt/mytest 192.168.0.0/55(rw,sync,all_squash,anonuid=501,anongid=501,no_subtree_check)` 21 | - 该配置解释: 22 | - /opt/mytest 表示我们要共享的目录 23 | - 192.168.0.0/55 表示内网中这个网段区间的IP是可以进行访问的,如果要任意网段都可以访问,可以用 `*` 号表示 24 | - (rw,sync,all_squash,anonuid=501,anongid=501,no_subtree_check) 表示权限 25 | - rw:是可读写(ro是只读) 26 | - sync:同步模式,表示内存中的数据时时刻刻写入磁盘(async:非同步模式,内存中数据定期存入磁盘) 27 | - all_squash:表示不管使用NFS的用户是谁,其身份都会被限定为一个指定的普通用户身份。(no_root_squash:其他客户端主机的root用户对该目录有至高权限控制。root_squash:表示其他客户端主机的root用户对该目录有普通用户权限控制) 28 | - anonuid/anongid:要和root_squash或all_squash选项一同使用,表示指定使用NFS的用户被限定后的uid和gid,前提是本图片服务器的/etc/passwd中存在这一的uid和gid 29 | - no_subtree_check:不检查父目录的权限 30 | 31 | - 启动服务: 32 | - `/etc/init.d/rpcbind restart` 33 | - `/etc/init.d/nfs-kernel-server restart` 34 | 35 | ## NFS 客户端访问 36 | 37 | - 客户端要访问服务端的共享目录需要对其共享的目录进行挂载,在挂载之前先检查下:`showmount -e 192.168.1.25`(这个 IP 是 NFS 的服务器端 IP) 38 | - 如果显示:/opt/mytest 相关信息表示成功了。 39 | - 现在开始对其进行挂载:`mount -t nfs 192.168.1.25:/opt/mytest/ /mytest/` 40 | - 在客户端机器上输入命令:`df -h` 可以看到多了一个 mytest 分区。然后我们可以再创建一个软链接,把软链接放在 war 包的目录下,这样上传的图片都会跑到另外一台服务器上了。软链接相关内容请自行搜索。 41 | 42 | ## NFS 资料 43 | 44 | - 45 | - 46 | - 47 | - 48 | - 49 | -------------------------------------------------------------------------------- /markdown-file/Nmon.md: -------------------------------------------------------------------------------- 1 | # nmon 系统性能监控工具的使用 2 | 3 | 4 | ## nmon 说明 5 | 6 | - 官网: 7 | - 分析工具 nmon analyser: 8 | - > nmon是一种在AIX与各种Linux操作系统上广泛使用的监控与分析工具, nmon所记录的信息是比较全面的,它能在系统运行过程中实时地捕捉系统资源的使用情况,并且能输出结果到文件中。 9 | 10 | ## 下载/安装 11 | 12 | - Ubuntu:`sudo apt-get install -y nmon` 13 | - CentOS:`sudo yum install -y nmon`,前提是你已经有安装 epel 源 14 | - 或者使用 RPM 包: 15 | - 安装命令:`rpm -ivh nmon-14i-8.el6.x86_64.rpm` 16 | - 分析工具 nmon analyser: 17 | 18 | ## 运行 19 | 20 | - 实时监控:`nmon` 21 | - 后台监控:`cd /opt ; nmon -f -s 10 -c 360` 22 | - 前面的 cd /opt 表示,进入 opt 目录,nmon 生成的文件是在当前目录下。 23 | - -f :按标准格式输出文件名称:_YYYYMMDD_HHMM.nmon 24 | - -s :每隔n秒抽样一次,这里为10秒 25 | - -c :取出多少个抽样数量,这里为360,即监控=10*360/3600=1小时 26 | - 该命令启动后,nmon 会在当前目录下生成监控文件,并持续写入资源数据,直至360个监控点收集完成——即监控1小时,这些操作均自动完成,无需手工干预,测试人员可以继续完成其他操作。如果想停止该监控,需要通过 `ps -ef | grep nmon` 查询进程号,然后杀掉该进程以停止监控。 27 | - 定期监控:本质是 crontab 加上后台监控命令 28 | 29 | ## 解析监控文件 30 | 31 | - 把 nmon 文件转换成 csv 文件:`sort localhost_120427_0922.nmon > localhost_120427_0922.csv` 32 | - 把 csv 转换成 Excel 图表文件: 33 | - 打开 nmon analyser 分析工具:nmon analyser v50_2.xlsm 34 | - 点击 Analyse nmon data 会弹出一个弹出框,选择刚刚转换的 csv 文件,然后就会自动再转化成 excel 文件 35 | - 导出的综合报表的参数说明: 36 | 37 | 38 | ## 资料 39 | 40 | - [Nmon命令行:Linux系统性能的监测利器](http://os.51cto.com/art/201406/442795.htm) 41 | - [性能监控和分析工具--nmon](http://kumu1988.blog.51cto.com/4075018/1086256) 42 | - [nmon以及nmon analyser 教程](http://www.xuebuyuan.com/1439800.html) 43 | -------------------------------------------------------------------------------- /markdown-file/Node-Install-And-Usage.md: -------------------------------------------------------------------------------- 1 | # Node 安装和配置 2 | 3 | ## Node 安装 4 | 5 | - 官网: 6 | - 官网下载: 7 | - 历史版本下载: 8 | - 此时(20171212) Maven 最新版本为:**8.9.3 (includes npm 5.5.1)** 9 | - 官网安装教程: 10 | - 官网 CentOS 系统下的安装教程: 11 | - 官网文档复制过来就是: 12 | 13 | ``` 14 | 如果你是要安装 node 8 系列,下载这个 yum 源 15 | curl --silent --location https://rpm.nodesource.com/setup_8.x | sudo bash - 16 | 17 | 如果你是要安装 node 9 系列,下载这个 yum 源 18 | curl --silent --location https://rpm.nodesource.com/setup_9.x | sudo bash - 19 | 20 | 然后通过 yum 开始安装(软件大小:51M 左右) 21 | sudo yum -y install nodejs 22 | ``` 23 | 24 | - 验证:`node -v` 25 | - 注意:因为网络原因,最好先把脚本下载到本地,再用代理进行安装 26 | 27 | 28 | ## nrm 快速切换 NPM 源 29 | 30 | - 安装:`npm install -g nrm` 31 | - 列表源:`nrm ls` 32 | - 使用源:`nrm use taobao` 33 | - 更多使用方法: 34 | -------------------------------------------------------------------------------- /markdown-file/Off-line-Yum-Install.md: -------------------------------------------------------------------------------- 1 | # Yum 下载安装包及对应依赖包 2 | 3 | ------ 4 | 5 | ## 安装 6 | 7 | 8 | - 安装该软件:`yum install -y yum-plugin-downloadonly` 9 | 10 | - 以下载 openssh-server 为例: 11 | - `yum install -y openssh-server --downloadonly --downloaddir=/opt/ssh` 12 | - 在 /opt/ssh 目录下有如下内容: 13 | 14 | ``` nginx 15 | -rw-r--r--. 1 root root 280524 Aug 13 2015 openssh-5.3p1-112.el6_7.x86_64.rpm 16 | -rw-r--r--. 1 root root 448872 Aug 13 2015 openssh-clients-5.3p1-112.el6_7.x86_64.rpm 17 | -rw-r--r--. 1 root root 331544 Aug 13 2015 openssh-server-5.3p1-112.el6_7.x86_64.rpm 18 | ``` 19 | 20 | - 安装下载的 rpm 文件:`sudo rpm -ivh *.rpm` 21 | - 利用 yum 安装 rpm 文件,并自动满足依赖的 rpm 文件:`sudo yum localinstall *.rpm` 22 | 23 | 24 | ## 资料 25 | 26 | - 27 | -------------------------------------------------------------------------------- /markdown-file/Openfire-Install-And-Settings.md: -------------------------------------------------------------------------------- 1 | # Openfire 安装和配置 2 | 3 | 4 | ## 本机环境 5 | 6 | - 系统:CentOS 6.7 64 位 7 | - JDK 1.7 64 位 8 | - MySQL 5.6 9 | 10 | 11 | ## Openfire 说明 12 | 13 | 14 | - 官网: 15 | - 官网下载: 16 | - 官网插件列表: 17 | - 官网文档: 18 | - 官网安装手册: 19 | - 官网安装手册-中文翻译版本: 20 | - 官网数据库部署手册: 21 | - javadoc 文档: 22 | - 连接管理工具(上千用户的时候用): 23 | 24 | 25 | ## 下载 26 | 27 | - 官网下载: 28 | - 当前最新版本:**4.0.2**,下载文件:`openfire-4.0.2-1.i386.rpm` 29 | 30 | 31 | ## 安装 MySQL、JDK 32 | 33 | - [MySQL 安装和配置](Mysql-Install-And-Settings.md) 34 | - [JDK 安装](JDK-Install.md) 35 | 36 | 37 | ## 安装 Openfire 38 | 39 | - 要求:JDK 1.7 或以上,我这里使用 1.7 40 | - CentOS 系列(Red Hat、Fedora)官网推荐安装 RPM 文件,因为有一些相关环境他们帮我们考虑了 41 | - 安装命令:`rpm -ivh openfire-4.0.2-1.i386.rpm` 42 | - Openfire 默认给我们生成安装目录:**/opt/openfire** 43 | - 修改 JDK VM 参数:`vim /etc/sysconfig/openfire`,找到 23 行,打开 OPENFIRE_OPTS 删除这一行注释,分配多少 VM 你根据自己的机子来配置。 44 | - 初始化数据库: 45 | - 请确保数据库是运行状态 46 | - 默认的初始化数据库脚本在(其他数据库类型的脚本也在这个目录下):**/opt/openfire/resources/database/openfire_mysql.sql** 47 | - 进入 MySQL 命令行状态:`mysql -u root -p` 48 | - 创建数据库并授权:`create database `openfire` character set utf8;grant all privileges on openfire.* to 'root'@'%';flush privileges;` 49 | - **退出** MySQL 命令行模式,**在终端命令状态下**,执行:`sudo mysql -u root -p openfire < /opt/openfire/resources/database/openfire_mysql.sql` 50 | - 先停掉防火墙:`service iptables stop` 51 | - 启动:`/etc/init.d/openfire start` 52 | - 查看进程:`ps aux | grep openfire` 53 | - 停止:`/etc/init.d/openfire stop` 54 | - 重启:`/etc/init.d/openfire restart` 55 | 56 | 57 | ## 配置 58 | 59 | - 访问 Web 管理界面:`http://192.168.1.113:9090` 60 | - 开始向导配置 Openfire 具体步骤看下列一系列图: 61 | - 需要注意的是:在配置数据库 URL 需要特别注意的是需要加入编码设置(你可以按我的这个链接来,但是 IP 和数据库名你自己修改): 62 | - `jdbc:mysql://192.168.1.113:3306/openfire?rewriteBatchedStatements=true&useUnicode=true&characterEncoding=UTF-8&characterSetResults=UTF-8` 63 | - 如果连接不了数据库,可以看错误日志:`cat /opt/openfire/logs/error.log` 64 | - ![设置](../images/Openfire-Settings-a-1.jpg) 65 | - ![设置](../images/Openfire-Settings-a-2.jpg) 66 | - ![设置](../images/Openfire-Settings-a-3.jpg) 67 | - ![设置](../images/Openfire-Settings-a-4.jpg) 68 | - ![设置](../images/Openfire-Settings-a-5.jpg) 69 | - ![设置](../images/Openfire-Settings-a-6.jpg) 70 | - ![设置](../images/Openfire-Settings-a-7.jpg) 71 | - ![设置](../images/Openfire-Settings-a-8.jpg) 72 | - ![设置](../images/Openfire-Settings-a-9.jpg) 73 | 74 | 75 | ## 使用 Spark 客户端 76 | 77 | - Spark 是一个类似 QQ 的 IM 软件,只是功能比较简单。 78 | - 官网下载: 79 | - 官网 Windows 下有两个版本: 80 | - **spark_2_7_7.exe** Offline installation, includes Java JRE (推荐安装这个,即使你有本机已经有了 JDK 环境) 81 | - **spark_2_7_7_online.exe** Online installation, does not include Java JRE 82 | - 安装完 Spark,启动软件,更玩 QQ 一样道理,具体看下图。你可以用 Spark 登录 Admin 账号。 83 | - ![设置](../images/Openfire-Settings-a-11.jpg) 84 | - ![设置](../images/Openfire-Settings-a-12.jpg) 85 | - 现在访问 Web 管理界面,给所有在线的会员发个消息,如果你的 Spark 可以收到消息,那就说明整个环境是通的。 86 | - ![设置](../images/Openfire-Settings-a-10.jpg) 87 | - ![设置](../images/Openfire-Settings-a-13.jpg) 88 | -------------------------------------------------------------------------------- /markdown-file/Portainer-Install-And-Settings.md: -------------------------------------------------------------------------------- 1 | # Portainer 安装和配置、优化 2 | 3 | ## 介绍 4 | 5 | - 官网: 6 | - 官网 GitHub: 7 | - 官网文档: 8 | 9 | ## 安装 10 | 11 | - 创建文件夹:`mkdir -p /data/docker/portainer` 12 | - 赋权:`chmod -R 777 /data/docker/portainer` 13 | - 创建文件:`vim docker-compose.yml` 14 | 15 | ``` 16 | version: '3' 17 | services: 18 | portainer: 19 | container_name: portainer 20 | image: portainer/portainer 21 | volumes: 22 | - /data/docker/portainer:/data 23 | - /var/run/docker.sock:/var/run/docker.sock 24 | ports: 25 | - "9000:9000" 26 | ``` 27 | 28 | - 启动:`docker-compose up -d` 29 | - 该容器占用内存非常非常小,只有 5 M 左右。 30 | 31 | ## 对本地监控配置 32 | 33 | - 因为 Portainer 镜像构建的时候已经配置了:`/var/run/docker.sock:/var/run/docker.sock`,所以对于跟 Portainer 同一台机子的其他容器都可以被直接监控 34 | - 浏览器访问访问:`http://192.168.1.2:9000` 35 | - 第一次启动会让你创建用户名和密码。第二步就是配置管理哪里的 docker 容器,我这里选择:local 36 | 37 | ## 远程监控配置 38 | 39 | - **以下方法为了方便,没有做任何安全措施,请用于内网** 40 | - 关掉防火墙 41 | - 修改远程 Docker 配置:`vim /usr/lib/systemd/system/docker.service` 42 | 43 | ``` 44 | 旧值: 45 | ExecStart=/usr/bin/dockerd 46 | 47 | 新值: 48 | ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock 49 | ``` 50 | 51 | - 重启 Docker:`systemctl daemon-reload && systemctl reload docker && systemctl restart docker` 52 | - Portainer 启动选择 Remote,填写远程 IP 和端口,比如:`192.168.1.3:2375` 53 | 54 | ## 资料 55 | 56 | - [Portainer 容器管理](https://blog.mallux.me/2017/04/13/portainer/) 57 | 58 | 59 | -------------------------------------------------------------------------------- /markdown-file/PostgreSQL-Install-And-Settings.md: -------------------------------------------------------------------------------- 1 | # PostgreSQL 安装和配置 2 | 3 | 4 | ## 官网 5 | 6 | - 官网: 7 | - 201906 最新版本 8 | - 12 beat 9 | - 11 release 10 | - 官网 Docker hub: 11 | 12 | 13 | ## Docker 安装 PostgreSQL(带挂载) 14 | 15 | ``` 16 | docker run \ 17 | -d \ 18 | --name pgsql \ 19 | -p 5432:5432 \ 20 | -e POSTGRES_USER=adg_user \ 21 | -e POSTGRES_PASSWORD=adg123456 \ 22 | -v ~/docker_data/pgsql/data:/var/lib/postgresql/data \ 23 | postgres:11 24 | ``` 25 | 26 | - 连上容器:`docker exec -it pgsql /bin/bash` 27 | - 连上 PostgreSQL:`psql -h 127.0.0.1 -p 5432 -U adg_user` 28 | 29 | 30 | ## 资料 31 | 32 | - 33 | -------------------------------------------------------------------------------- /markdown-file/Python-Ubuntu.md: -------------------------------------------------------------------------------- 1 | # Python Ubuntu 安装 2 | 3 | ## 为 Python 开发环境准备 4 | 5 | #### 给 root 用户安装 Python 6 | 7 | - 切换用户:`sudo su -` 8 | - 安装 Python 2:`apt-get install python` 9 | - 安装 Python 3:`apt-get install python3` 10 | - 查看版本: 11 | - `python --version` 12 | - `python3 --version` 13 | 14 | #### 给非 root 用户安装 Anaconda(Python 3 版本) 15 | 16 | - 官网下载: 17 | - 进入命令行交互安装:`sh Anaconda3-5.2.0-Linux-x86_64.sh` 18 | 19 | -------------------------------------------------------------------------------- /markdown-file/Rap-Install-And-Settings.md: -------------------------------------------------------------------------------- 1 | # Rap 安装和配置 2 | 3 | 4 | ## 本机环境 5 | 6 | - 系统:CentOS 6.7 64 位 7 | - MySQL 5.6 8 | - JDK 1.8 9 | - Tomcat 8 10 | - Redis 3.0.7 11 | - Rap 0.14.1 12 | 13 | 14 | ## Rap 说明 15 | 16 | 17 | - 官网: 18 | - 在线版: 19 | - 官网 Wiki: 20 | - 官网部署手册: 21 | - 用户手册: 22 | 23 | 24 | ## 下载 25 | 26 | - 官网下载: 27 | - 当前最新版本:**0.14.1** 28 | - 下载 war 部署包: 29 | 30 | 31 | ## 安装 MySQL、JDK、Tomcat、Redis 32 | 33 | - [MySQL 安装和配置](Mysql-Install-And-Settings.md) 34 | - [JDK 安装](JDK-Install.md) 35 | - [Tomcat 安装和配置、优化](Tomcat-Install-And-Settings.md) 36 | - [Redis 安装和配置](Redis-Install-And-Settings.md) 37 | 38 | 39 | ## 安装 Rap 40 | 41 | - 创建数据库,并创建权限用户 42 | 43 | ``` sql 44 | CREATE DATABASE `rap_db` CHARACTER SET utf8; 45 | CREATE USER 'rap'@'%' IDENTIFIED BY '123456'; 46 | GRANT ALL PRIVILEGES ON rap_db.* TO 'rap'@'%'; 47 | FLUSH PRIVILEGES; 48 | ``` 49 | 50 | - 把 RAP-0.14.1-SNAPSHOT.war 移动到 tomcat 的 webapp 目录下,删除其他多余的文件夹 51 | - 解压:`unzip -x RAP-0.14.1-SNAPSHOT.war -d ROOT` 52 | - 初始化数据库:`mysql -u rap -p rap_db < /usr/program/tomcat8/webapps/ROOT/WEB-INF/classes/database/initialize.sql` 53 | - 修改连接数据库的配置信息:`vim /usr/program/tomcat8/webapps/ROOT/WEB-INF/classes/config.properties ` 54 | - 停掉防火墙:`service iptables stop` 55 | - 启动 Redis:`/usr/local/bin/redis-server /etc/redis.conf` 56 | - 启动 Tomcat:`sh /usr/program/tomcat8/bin/startup.sh ; tail -200f /usr/program/tomcat8/logs/catalina.out` 57 | -------------------------------------------------------------------------------- /markdown-file/SSH-login-without-password.md: -------------------------------------------------------------------------------- 1 | # SSH 免密登录 2 | 3 | ## 环境说明 4 | 5 | - CentOS 7.3 6 | 7 | ## 关键点 8 | 9 | - 免密登录的关键点在于理解谁登录谁。 10 | - A 生成的公钥给 B,也给 C、D,则 A 可以直接免密 SSH 登录 B、C、D 11 | 12 | ## A 生成密钥 13 | 14 | - 在 A 机器上输入命令:`ssh-keygen` 15 | - 根据提示回车,共有三次交互提示,都回车即可。 16 | - 生成的密钥目录在:**/root/.ssh** 17 | - 写入:`cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys` 18 | - 测试:`ssh localhost` 19 | 20 | 21 | ## 把 A 的公钥发给 B 22 | 23 | - 假设 B 机器的 ip:`192.168.1.105` 24 | - 则在 A 机器上输入:`ssh-copy-id -i /root/.ssh/id_rsa.pub -p 22 root@192.168.1.105`,根据提示输入 B 机器的 root 密码,成功会有相应提示 25 | 26 | ## 测试 A 免密登录到 B 27 | 28 | - 在 A 机器上输入命令:`ssh -p 22 root@192.168.1.105`,则会相应登录成功的提示 29 | 30 | ------------------------------------------------------------------- 31 | 32 | ## 如果是用 pem 登录的话,用 ssh-copy-id 是无法使用的 33 | 34 | - 先保存 A 的 pub 到本地:`sz /root/.ssh/id_rsa.pub` 35 | - 登录 B 机子:`cd /root/.ssh/` 36 | - 如果 B 机子没有 authorized_keys 文件则创建:`touch /root/.ssh/authorized_keys` 37 | - 设置权限:`chmod 600 /root/.ssh/authorized_keys ` 38 | - 上传 pub 文件到 B 机子,并在 B 机子上执行:`cd /root/.ssh/ && cat id_rsa.pub >> authorized_keys` 39 | 40 | 41 | 42 | -------------------------------------------------------------------------------- /markdown-file/SSR-Client-Ubuntu.md: -------------------------------------------------------------------------------- 1 | # SSR Ubuntu 客户端 2 | 3 | ## 介绍 4 | 5 | - 因为某些原因,这个东西不做过多解释 6 | 7 | ## 安装 8 | 9 | - 需要 Git 环境: 10 | - 需要 Python 2 环境: 11 | - 官网脚本: 12 | - 我们这里使用别人提供的文件,如果该文件被屏蔽,就自行用上面官网的文件。 13 | 14 | ``` 15 | wget http://www.djangoz.com/ssr 16 | 17 | sudo mv ssr /usr/local/bin 18 | 19 | sudo chmod 766 /usr/local/bin/ssr 20 | 21 | ssr install 22 | ``` 23 | 24 | - 配置:`ssr config` 25 | - 这是一个 vim 的配置界面,也可以直接编辑其源文件: 26 | - 主要修改如下内容: 27 | 28 | ``` 29 | "server":"12.26.68.99", //服务器ip 30 | "server_port":9191, //端口 31 | "password":"123456", //密码 32 | "protocol":"auth_sha1_v4", //协议插件 33 | "obfs":"http_simple", //混淆插件 34 | "method":"aes-256-cfb", //加密方式 35 | ``` 36 | 37 | 38 | - 启动:`ssr start` 39 | - 其他常用命令: 40 | - `ssr stop` 41 | - `ssr help` 42 | - 然后就可以用 Chrome 的 SwitchyOmega 43 | - AutoProxy:https://raw.githubusercontent.com/gfwlist/gfwlist/master/gfwlist.txt 44 | 45 | ## 配置终端代理 polipo 46 | 47 | - 安装:`sudo apt-get install polipo` 48 | - 修改配置(一般不要变动,直接复制上去即可):`sudo vim /etc/polipo/config` 49 | 50 | ``` 51 | # This file only needs to list configuration variables that deviate 52 | # from the default values. See /usr/share/doc/polipo/examples/config.sample 53 | # and "polipo -v" for variables you can tweak and further information. 54 | 55 | logSyslog = true 56 | logFile = /var/log/polipo/polipo.log 57 | 58 | proxyAddress = "0.0.0.0" 59 | 60 | socksParentProxy = "127.0.0.1:1080" 61 | socksProxyType = socks5 62 | 63 | chunkHighMark = 50331648 64 | objectHighMark = 16384 65 | 66 | serverMaxSlots = 64 67 | serverSlots = 16 68 | serverSlots1 = 32 69 | ``` 70 | 71 | - 重启:`sudo service polipo restart` 72 | 73 | #### 开始测试 polipo 74 | 75 | - 获取自己当前 IP:`curl ip.gs` 76 | - 这时候应该是国内 IP 77 | 78 | - **开始使用代理**:`export http_proxy=http://127.0.0.1:8123` 79 | 80 | - 获取自己当前 IP:`curl ip.gs` 81 | - 这时候应该是国外 IP 82 | 83 | - **取消代理**:`unset http_proxy` 84 | 85 | - 获取自己当前 IP:`curl ip.gs` 86 | - 这时候应该是国内 IP 87 | - 另外:在浏览器中输入 便可以进入到 Polipo 的使用说明和配置界面。 88 | 89 | ## 材料 90 | 91 | - 92 | -------------------------------------------------------------------------------- /markdown-file/Sed.md: -------------------------------------------------------------------------------- 1 | # Sed 常用命令 2 | 3 | - 轻量级流编辑器,一般用来处理文本类文件 4 | - **sed 是非交互式的编辑器。它不会修改文件,除非使用 shell 重定向来保存结果。默认情况下,所有的输出行都被打印到屏幕上** 5 | - **用 sed -i 会实际写入**,下面为了演示,都没加该参数,有需要可以自行添加。 6 | 7 | ## 基础例子 8 | 9 | - 有一个文件:/opt/log4j2.properties 10 | 11 | ``` ini 12 | status = error 13 | 14 | # log action execution errors for easier debugging 15 | logger.action.name = org.elasticsearch.action 16 | logger.action.level = debug 17 | 18 | appender.console.type = Console 19 | appender.console.name = console 20 | appender.console.layout.type = PatternLayout 21 | appender.console.layout.pattern = [%d{ISO8601}][%-5p][%-25c{1.}] %marker%m%n 22 | 23 | appender.rolling.type = RollingFile 24 | appender.rolling.name = rolling 25 | appender.rolling.fileName = ${sys:es.logs}.log 26 | appender.rolling.layout.type = PatternLayout 27 | appender.rolling.layout.pattern = [%d{ISO8601}][%-5p][%-25c{1.}] %marker%.-10000m%n 28 | appender.rolling.filePattern = ${sys:es.logs}-%d{yyyy-MM-dd}.log 29 | appender.rolling.policies.type = Policies 30 | appender.rolling.policies.time.type = TimeBasedTriggeringPolicy 31 | appender.rolling.policies.time.interval = 1 32 | appender.rolling.policies.time.modulate = true 33 | 34 | rootLogger.level = info 35 | rootLogger.appenderRef.console.ref = console 36 | rootLogger.appenderRef.rolling.ref = rolling 37 | ``` 38 | 39 | - `p` 参数表示打印,一般配合 -n(安静模式)进行使用 40 | - `sed -n '7,10p' /opt/log4j2.properties`:显示第 7 ~ 10 行内容 41 | - `sed -n '7p' /opt/log4j2.properties`:显示第 7 行内容 42 | - `d` 删除 43 | - `cat -n /opt/log4j2.properties |sed '7,10d'`:剔除 7 ~ 10 行内容,然后显示文件所有内容出来(实际文件是未删除的) 44 | - `a` 追加 45 | - `cat -n /opt/log4j2.properties |sed '1a GitNavi.com'`:追加 GitNavi.com 内容(追加在下一行展示),然后显示文件所有内容出来 46 | - `c` 替换 47 | - `cat -n /opt/log4j2.properties |sed '1,4c GitNavi.com'`:将 1 ~ 4 行内容替换成 GitNavi.com 48 | - `s`: 搜索并替换 49 | - `sed 's/time/timeing/g' /opt/log4j2.properties`:将文件中所有 time 替换成 timeing 并展示 50 | - `sed 's/^#*//g' /opt/log4j2.properties`:将文件中每一行以 # 开头的都替换掉空字符并展示 51 | - `sed 's/^#[ ]*//g' /opt/log4j2.properties`:将文件中每一行以 # 开头的,并且后面的一个空格,都替换掉空字符并展示 52 | - `sed 's/^[ ]*//g' /opt/log4j2.properties`:将文件中每一行以空格开头,都替换掉空字符并展示 53 | - `sed 's/^[0-9][0-9]*//g' /opt/log4j2.properties`:将文件中每一行以数字开头,都替换掉空字符并展示 54 | - `sed '4,6s/^/#/g' /opt/log4j2.properties`:将文件中 4 ~ 6 行添加 # 开头 55 | - `sed '4,6s/^#//g' /opt/log4j2.properties`:将文件中 4 ~ 6 行 # 开头去掉 56 | 57 | 58 | ## 实用例子 59 | 60 | - `ifconfig eth0 |grep 'inet addr' |sed 's/^.*addr://g' |sed 's/Bcast.*$//g'`:CentOS 6 只显示 IP 61 | - `ifconfig ens33 |grep 'inet' |sed 's/^.*inet//g' |sed 's/netmask.*$//g' |sed -n '1p'`:CentOS 7.3 只显示 IP。先用 grep 筛选中包含 inet 的数据。 62 | - `s` 参数开头表示的是搜索替换,`/^.*inet` 表示从开头到 inet 之间,`//` 为空内容,`/g`,表示处理这一行所有匹配的内容。`/netmask.*$` 表示从 netmask 到这一行结束的内容 63 | 64 | 65 | 66 | 67 | ## 资料 68 | 69 | - 《构建高可用 Linux服务器》 70 | - -------------------------------------------------------------------------------- /markdown-file/Showdoc-Install-And-Settings.md: -------------------------------------------------------------------------------- 1 | # Showdoc 安装和配置 2 | 3 | ## Showdoc 介绍 4 | 5 | - 官网: 6 | - Github: 7 | - 当前(201804)最新版:2.0.7 8 | 9 | ## Docker 下安装 Showdoc 10 | 11 | - 场景: 12 | - 我的 git 数据目录地址 /opt/git-data 13 | - clone 官网源码:`git clone --depth=1 https://github.com/star7th/showdoc.git` 14 | - 进入源码目录:`cd /opt/git-data/showdoc` 15 | - 构建 docker 镜像:`docker build -t showdoc ./` 16 | - 运行镜像:`docker run -d --name showdoc -p 4999:80 showdoc` 17 | - 浏览器输入:`http://47.106.127.131:4999/install`,进行程序的初始化,其实就是让你选择语言和几个提示 18 | - 注意: 19 | - 容器中的数据存放目录为:`/var/www/html`,其中 20 | - 数据库文件:`/var/www/html/Sqlite/sqlite.db.php` 21 | - 图片:`/var/www/html/Public/Uploads` 22 | - 后续需要升级系统,更换服务器需要迁移这两个目录下的文件。我尝试挂载这两个目录,但是发现出现各种问题解决不了,所以就不管了。 23 | - 网站首页地址: 24 | - 没有什么系统管理员用户的概念,需要自己注册 -------------------------------------------------------------------------------- /markdown-file/Spark-Install-And-Settings.md: -------------------------------------------------------------------------------- 1 | # Spark 安装和配置 2 | 3 | ## 介绍 4 | 5 | - 2018-12 发布最新:2.4.0 版本 6 | - 官网: 7 | - 官网文档: 8 | - 官网下载: 9 | - 官网 Github: 10 | 11 | ## 本地模式安装 12 | 13 | - CentOS 7.4 14 | - IP 地址:`192.168.0.105` 15 | - 必须 JDK 8.x 16 | - 已经安装了 hadoop-2.6.5 集群(**这个细节注意**) 17 | - 因为个人原因,我这里 Hadoop 还是 2.6.5 版本,Spark 要用的是 2.2.0 18 | - Spark 2.2.0 官网文档: 19 | - 192M,下载速度有点慢 20 | - `cd /usr/local && wget https://archive.apache.org/dist/spark/spark-2.2.0/spark-2.2.0-bin-hadoop2.6.tgz` 21 | - 解压:`tar zxvf spark-2.2.0-bin-hadoop2.6.tgz` 22 | - 重命名:`mv /usr/local/spark-2.2.0-bin-hadoop2.6 /usr/local/spark` 23 | - 增加环境变量: 24 | 25 | ``` 26 | vim /etc/profile 27 | 28 | SPARK_HOME=/usr/local/spark 29 | PATH=$PATH:${SPARK_HOME}/bin:${SPARK_HOME}/sbin 30 | export SPARK_HOME 31 | export PATH 32 | 33 | source /etc/profile 34 | ``` 35 | 36 | - 修改配置:`cp $SPARK_HOME/conf/spark-env.sh.template $SPARK_HOME/conf/spark-env.sh` 37 | - 修改配置:`vim $SPARK_HOME/conf/spark-env.sh` 38 | - 假设我的 hadoop 路径是:/usr/local/hadoop-2.6.5,则最尾巴增加: 39 | 40 | ``` 41 | export HADOOP_CONF_DIR=/usr/local/hadoop-2.6.5/etc/hadoop 42 | ``` 43 | 44 | - 因为要交给 YARN 作业,所以到这里就好了。 45 | 46 | 47 | ## 资料 48 | 49 | - 50 | -------------------------------------------------------------------------------- /markdown-file/Thrift-Install-And-Usage.md: -------------------------------------------------------------------------------- 1 | ## Apache Thrift 安装和配置 2 | 3 | - 官网下载: 4 | - Apache 综合下载地(可以下载到旧版本): 5 | - 一般我们建议下载 tar.gz 自己编译安装 6 | - 安装所需的依赖等条件说明: 7 | - 源码安装方式说明: 8 | - 现在最新的版本是:0.10.0,而我选的版本是:0.9.3,因为我目前各个语言大家用的最多的还是 0.9 系列的版本 9 | 10 | 11 | ### 源码包安装方法 12 | 13 | - 下载 0.9.3 的源码包: 14 | - 安装依赖:`yum install -y autoconf automake libtool cmake ncurses-devel openssl-devel lzo-devel zlib-devel gcc gcc-c++` 15 | - 安装总流程: 16 | 17 | ``` 18 | tar zxvf thrift-0.9.3.tar.gz 19 | 20 | cd thrift-0.9.3 21 | 22 | ./configure --without-tests 23 | 24 | make 25 | 26 | make install 27 | ``` 28 | 29 | - 安装成功后,看下版本:`thrift --version` 30 | 31 | 32 | ### Docker 方式直接使用 33 | 34 | - 拉取镜像:`docker pull thrift:0.9.3` 35 | - 现在假设我们有一个 service.thrift 的配置文件,放在 /opt 目录下:/opt/service.thrift 36 | - 现在我们要根据这个配置文件生成 java 类文件,把这些类 java 类生成到目录:/opt/thrift/data 37 | - 这个需要可以使用下面命令: 38 | 39 | ``` 40 | docker run -v "$PWD:/opt" thrift:0.9.3 thrift -o /opt/thrift/data --gen java /opt/service.thrift 41 | ``` 42 | 43 | - 如果你没有 service.thrift 文件也无所谓,我们现在就来创建一个(里面的内容懂不懂都无所谓): 44 | 45 | ``` 46 | namespace java com.gitnavi.service 47 | 48 | struct User { 49 | 1: i32 id 50 | 2: string username 51 | } 52 | 53 | service UserService { 54 | User getUser() 55 | } 56 | ``` 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | -------------------------------------------------------------------------------- /markdown-file/Tmux-Install-And-Settings.md: -------------------------------------------------------------------------------- 1 | # Tmux 安装和配置 2 | 3 | ## 介绍 4 | 5 | - 说明:`tmux is a "terminal multiplexer", it enables a number of terminals (or windows) to be accessed and controlled from a single terminal. tmux is intended to be a simple, modern, BSD-licensed alternative to programs such as GNU screen.` 6 | - 大家的主要用途:`提供了一个窗体组随时存储和恢复的功能`,本质有点类似守护进程感。 7 | - 官网: 8 | - 官网 Github: 9 | - 当前(201703)最新版本:**2.3** 10 | 11 | ## 安装 12 | 13 | - CentOS:`yum install -y tmux` 14 | - Ubuntu:`apt-get install -y tmux` 15 | - Mac:`brew install tmux` 16 | - 也可以看官网 GitHub 进行编译安装。 17 | 18 | ## 基本概念 19 | 20 | - session:一个服务器可以包含多个会话,可以理解成是一个特定的终端组合,通常将同一任务下的工作放到一个会话中。 21 | - window:一个会话可以包含多个窗口,一个窗口就相当于普通终端的一个标签,通常在不同的窗口中完成不同的工作。 22 | - pane:一个窗口可以被分割成多个小的窗格。 23 | 24 | ## 基础用法 25 | 26 | - 启动:`tmux` 27 | - 信息查询: 28 | - `tmux list-keys` 列出所有可以的快捷键和其运行的 tmux 命令 29 | - `tmux list-commands` 列出所有的 tmux 命令及其参数 30 | - `tmux info` 流出所有的 session, window, pane, 运行的进程号,等。 31 | - 窗口的控制: 32 | - session 会话:session是一个特定的终端组合。输入tmux就可以打开一个新的session 33 | - `tmux new -s session_name` 创建一个叫做 session_name 的 tmux session 34 | - `tmux attach -t session_name` 重新开启叫做 session_name 的 tmux session 35 | - `tmux switch -t session_name` 转换到叫做 session_name 的 tmux session 36 | - `tmux list-sessions` / tmux ls 列出现有的所有 session 37 | - `tmux detach` 离开当前开启的 session 38 | - `tmux kill-server` 关闭所有 session 39 | - window 窗口:session 中可以有不同的 window(但是同时只能看到一个 window) 40 | - `tmux new-window` 创建一个新的 window 41 | - `tmux list-windows` 42 | - `tmux select-window -t :0-9` 根据索引转到该 window 43 | - `tmux rename-window` 重命名当前 window 44 | - pane 面板:window 中可以有不同的 pane(可以把 window 分成不同的部分) 45 | - `tmux split-window` 将 window 垂直划分为两个 pane 46 | - `tmux split-window -h` 将 window 水平划分为两个 pane 47 | - `tmux swap-pane -U` 在指定的方向(方向有:U、D、L、R 四种)交换 pane 48 | - `tmux select-pane -U` 在指定的方向(方向有:U、D、L、R 四种)选择下一个 pane 49 | 50 | ## 高级用法 51 | 52 | - **注意:** 有一个前缀快捷键的概念,也称作:``,默认快捷键:`Ctrl + B`,下面的这些操作都是必须先按这个快捷键后再输入对应的命令: 53 | - 基本操作 54 | - `?` 列出所有快捷键;按q返回 55 | - `d` 脱离当前会话,可暂时返回Shell界面 56 | - `s` 选择并切换会话;在同时开启了多个会话时使用 57 | - `D` 选择要脱离的会话;在同时开启了多个会话时使用 58 | - `:` 进入命令行模式;此时可输入支持的命令,例如 kill-server 关闭所有tmux会话 59 | - `[` 复制模式,光标移动到复制内容位置,空格键开始,方向键选择复制,回车确认,q/Esc退出 60 | - `]` 进入粘贴模式,粘贴之前复制的内容,按q/Esc退出 61 | - `~` 列出提示信息缓存;其中包含了之前tmux返回的各种提示信息 62 | - `t` 显示当前的时间 63 | - `ctrl + z` 挂起当前会话 64 | - 窗口操作 65 | - `c` 创建新窗口 66 | - `&` 关闭当前窗口 67 | - `[0-9]` 数字键切换到指定窗口 68 | - `p` 切换至上一窗口 69 | - `n` 切换至下一窗口 70 | - `l` 前后窗口间互相切换 71 | - `w` 通过窗口列表切换窗口 72 | - `,` 重命名当前窗口,便于识别 73 | - `.` 修改当前窗口编号,相当于重新排序 74 | - `f` 在所有窗口中查找关键词,便于窗口多了切换 75 | - 面板操作 76 | - `"` 将当前面板上下分屏(我自己改成了 |) 77 | - `%` 将当前面板左右分屏(我自己改成了 -) 78 | - `x` 关闭当前分屏 79 | - `!` 将当前面板置于新窗口,即新建一个窗口,其中仅包含当前面板 80 | - `Ctrl + 方向键` 以1个单元格为单位移动边缘以调整当前面板大小 81 | - `Alt + 方向键` 以5个单元格为单位移动边缘以调整当前面板大小 82 | - `q` 显示面板编号 83 | - `o` 选择当前窗口中下一个面板 84 | - `方向键` 移动光标选择对应面板 85 | - `{` 向前置换当前面板 86 | - `}` 向后置换当前面板 87 | - `Alt+o` 逆时针旋转当前窗口的面板 88 | - `Ctrl+o` 顺时针旋转当前窗口的面板 89 | - `z` 最大化当前所在面板 90 | - `page up` 向上滚动屏幕,q 退出 91 | - `page down` 向下滚动屏幕,q 退出 92 | 93 | 94 | 95 | 96 | ## 资料 97 | 98 | - 99 | - 100 | - 101 | - 102 | - 103 | - 104 | - 105 | - <> 106 | - <> -------------------------------------------------------------------------------- /markdown-file/Ubuntu-Install-VMware.md: -------------------------------------------------------------------------------- 1 | # Ubuntu 安装 VMware 2 | 3 | - 我个人习惯使用 VMware,在一些个性化和兼容性上,我觉得 VMware 比 box 好很多 4 | 5 | 6 | ## 安装说明 7 | 8 | - 下载:VMware-Workstation-Full-10.0.4-2249910.x86_64.bundle 9 | - 下载地址(rzb0): 10 | - 安装组件: 11 | 12 | ``` nginx 13 | 命令:sudo apt-get update 14 | 命令:sudo apt-get install build-essential linux-headers-`uname -r` 15 | ``` 16 | - 进入软件下载后目录,比如我在 /opt/setups 下 17 | - `cd /opt/setups` 18 | - `chmod +x VMware*.bundle` 19 | - `sudo ./VMware*.bundle` 20 | - 接下来会弹出图形界面,则效果跟 Windows 一样,那就没啥好说了。 21 | 22 | 23 | ## 资料 24 | 25 | - [How To Install VMware Workstation 11 On Ubuntu 14.10](https://www.liberiangeek.net/2014/12/install-vmware-workstation-11-ubuntu-14-10/) 26 | 27 | -------------------------------------------------------------------------------- /markdown-file/Ubuntu-Install.md: -------------------------------------------------------------------------------- 1 | # Ubuntu 安装和分区 2 | 3 | - 先下载该系列教程(提取码:8qfg): 4 | 5 | ![Ubuntu 安装和分区视频](../images/Ubuntu-a-1.jpg) 6 | 7 | - 找到如图箭头目录上的两个视频,并看完,你对 Ubuntu 的安装就有了一个大概的了解,视频中 Ubuntu 虽然版本较早 13.04 的, 但是没关系,对于 Ubuntu 来讲新旧版本安装基本都一样的,所以别担心,驱动的问题也别担心,我们不是要在 Ubuntu 打游戏的,所以常见驱动系统是已经帮我们集成的不会影响使用。但是分区这一块的话,我个人建议是手工分区,视频中没有最终执行手动分区,只是演示了一下又返回了。 我个人是要求你手动分区的。 8 | 9 | - 但是再讲分区之前,用什么设备安装是第一前提,我这里推荐用 U 盘,你准备一个 4 G 以上的 U 盘,把 Ubuntu 系统进行格式化到里面,用这个 U 盘作为安装盘进行安装。这个过程不难,具体看如下文章: 10 | 11 | - [http://www.Ubuntukylin.com/ask/index.php?qa=jc_1](http://www.Ubuntukylin.com/ask/index.php?qa=jc_1) 12 | - [http://www.wubantu.com/36bc2075036fab76.html](http://www.wubantu.com/36bc2075036fab76.html) 13 | - [http://tieba.baidu.com/p/2795415868](http://tieba.baidu.com/p/2795415868) 14 | - [http://www.Ubuntukylin.com/public/pdf/UK1410install.pdf](http://www.Ubuntukylin.com/public/pdf/UK1410install.pdf) 15 | 16 | - 好了假设你现在已经格式化好 U 盘,现在可以开始讲分区了。这里特别说明的是有多个硬盘的,多块硬盘分区方案就没视频中那么简单,特别是 Linux 的盘符不了解的就更加难了,所以看下图: 17 | 18 | ![Ubuntu 安装和分区视频](../images/Ubuntu-a-2.jpg) 19 | 20 | - 以我这边为例:我这边机子的硬盘是:一个 128 G 固态 + 500 G 的机械,我给一个分区方案给你们参考。下面的内容需要你先看过视频才能看懂: 21 | 22 | - Linux 一般可分 3 个分区,分别是 `boot 分区`、`swap 分区` 和 `根分区`(根分区也就是斜杠/) boot 是主分区类型,swap 是是逻辑分区,/ 是逻辑分区,其他如果你还想划分的也都是逻辑分区。 最近年代生产的的主板,可能还需要分出一个 EFI 分区启动。EFI 的选择和 swap 一样,都在那个下拉菜单中。 怎么判断你要不要分出一个 EFI 呢?如果你根据我的要求分了 boot,swap,根之后,点击下一步报错,有提示 EFI 相关的错误信息,那就分一个给它,我这边就是有报错的。 23 | 24 | - **120 G 固态硬盘:** 25 | - `/boot` == 1G(主分区),这里为boot单独挂载是有必要的。系统崩溃的时候,损坏的是这个分区。我们重装系统之后,其他分区我们保留下来,重新挂载上去就可以用了。 26 | - `/EFI` == 100M(主分区)(我有提示报错需要分这个,我就分了) 27 | - `/swap` == 12G(逻辑分区)一般大家的说法这个大小是跟你机子的内存大小相关的,也有说法内存大不需要这个,但是还是建议分,我内存是12G,所以我分12G。 28 | - `/` == 100G(逻辑分区) 29 | 30 | - **500 G 机械硬盘:** 31 | - `/home` == 500G(逻辑分区) 32 | 33 | - 分区后的安装都是下一步的,而且 Ubuntu kylin 还是中文的说明,所以没啥难度。 到此假设你给自己的电脑安装了 Ubuntu,那下一讲我将讲 Ubuntu 的相关设置。 34 | 35 | - 如果你想用 VMware 虚拟机安装,这个教程推荐给你,讲得很详细。 36 | - [http://www.jikexueyuan.com/course/1583.html](http://www.jikexueyuan.com/course/1583.html) 37 | -------------------------------------------------------------------------------- /markdown-file/Ubuntu-Popular-Software.md: -------------------------------------------------------------------------------- 1 | # Ubuntu 常用的软件 2 | 3 | ## 安装软件基础 4 | 5 | - 取回更新的软件包列表信息:`sudo apt-get update`,如果安装某个软件报:`Unable to locate package`,就得这样 update 下。 6 | - 安装本地 deb 文件:`sudo dpkg -i 文件名` 7 | - 安装过程提示缺依赖:`sudo apt-get --fix-broken install -y` 8 | - 查看已经安装了哪些包:`sudo dpkg -l` 9 | - 查看已安装列表中是否有 Vim 软件,没有安装则没有数据显示:`sudo dpkg -l | grep vim` 10 | - 查看 Vim 软件安装位置:`sudo dpkg -L vim` 11 | - 安装名为 Vim 的软件:`sudo apt-get install vim` 12 | - 升级系统所有有新版本的软件:`sudo apt-get upgrade` 13 | 14 | ## 卸载 15 | 16 | - 卸载名为 Vim 的软件(保留配置文档):`sudo apt-get remove vim`(在输入软件的名的时候,可以输入部分,按 Tab 进行提示) 17 | - 卸载名为 Vim 的软件(并删除配置文档):`sudo apt-get –purge remove vim` 18 | - 卸载名为 Vim 的软件(并删除包及其依赖的软件包、配置文件):`sudo apt-get autoremove --purge vim` 19 | - 卸载名为 Vim 的软件(dpkg 方式):`sudo dpkg -r vim`(在输入软件的名的时候,可以输入部分,按 Tab 进行提示) 20 | - 卸载名为 Vim 的软件(dpkg 方式,并删除配置文档):`sudo dpkg -P vim` 21 | - 删除已下载的旧包文件:`sudo apt-get autoclean` 22 | - 删除所有已下载的包文件:`sudo apt-get clean` 23 | - 卸载所有自动安装且不再使用的软件包:`sudo apt-get autoremove` 24 | 25 | 26 | ## 安装常用系统软件 27 | 28 | - sysv-rc-conf 29 | - 介绍:管理启动项,一般是用在 Ubuntu 系统上的,CentOS 一般用的 chkconfig,两者用法差不多 30 | - 安装:`sudo apt-get install -y sysv-rc-conf` 31 | - 资料: 32 | - 图文资料: 33 | - 图文资料: 34 | 35 | 36 | 37 | -------------------------------------------------------------------------------- /markdown-file/Ubuntu-Specific-Command.md: -------------------------------------------------------------------------------- 1 | # Ubuntu 特殊命令 2 | 3 | 4 | - `lsb_release -a`,查看发行代号 5 | - `cat /etc/issue`,查看 Ubuntu 发行版本 6 | - `sudo ufw disable`,禁用防火墙 7 | - `sudo ufw enable`,开启防火墙 8 | - `apt-get remove iptables`,卸载防火墙 9 | - `` 10 | - `` 11 | - `` 12 | - `` 13 | - `` 14 | - `` 15 | 16 | -------------------------------------------------------------------------------- /markdown-file/Ubuntu.md: -------------------------------------------------------------------------------- 1 | # Ubuntu 介绍 2 | 3 | - Ubuntu 母公司 Canonical: 4 | - Ubuntu 百科: 5 | - Ubuntu Wiki: 6 | - Ubuntu 英文官网: 7 | - Ubuntu 中文官网: 8 | - Ubuntu kylin 官网: 9 | - Ubuntu 标准桌面版下载: 10 | - Ubuntu 官网回答社区: 11 | - Ubuntu 正式衍生版本: 12 | - Ubuntu 非正式衍生版本: 13 | - Unity 桌面介绍: 14 | - GNOME 桌面介绍: 15 | - KDE 桌面介绍: 16 | 17 | # Ubuntu 原型系统:Debian 18 | 19 | - Debian Wiki: 20 | - Debian 百科: 21 | - Debian 官网: 22 | - Debian 自我介绍: 23 | - 关键字: 24 | - [Debian 社群契约](https://www.debian.org/social_contract) 25 | - [何谓自由 (Free)? 或者说,何谓自由软件 (Free Software)?](https://www.debian.org/intro/free) 26 | - [什么是自由软件?](http://www.gnu.org/philosophy/free-sw) 27 | - [Debian 历史](https://www.debian.org/doc/manuals/project-history/) 28 | - Debian 的发行版介绍: 29 | - Debian 官网稳定版下载 1: 30 | - Debian 官网稳定版下载 2: 31 | - Debian 中国镜像 1: 32 | - Debian 中国镜像 2: 33 | - Debian 中国镜像 3: 34 | - Debian 中文安装手册: 35 | - Debian 软件列表: 36 | 37 | 38 | -------------------------------------------------------------------------------- /markdown-file/YApi-Install-And-Settings.md: -------------------------------------------------------------------------------- 1 | # YApi 安装和配置 2 | 3 | 4 | ## 部署的环境 5 | 6 | - 系统:`CentOS 7.4` 7 | - 硬件要求:`1 GB RAM minimum` 8 | - ip:`http://192.168.1.121` 9 | - docker version:`17.12.1-ce, build 7390fc6` 10 | - docker-compose version:`1.18.0, build 8dd22a9` 11 | 12 | > 建议部署成 http 站点,因 chrome 浏览器安全限制,部署成 https 会导致测试功能在请求 http 站点时文件上传功能异常。--[来源](https://yapi.ymfe.org/devops.html) 13 | 14 | ## Docker 快速部署 15 | 16 | - 一个好心人的维护: 17 | - 使用方法: 18 | - work path:`mkdir -p /opt/git-data` 19 | - clone:`cd /opt/git-data && git clone https://github.com/branchzero/yapi-docker.git` 20 | - permission:`chmod -R 777 /opt/git-data` 21 | - run command:`cd /opt/git-data/yapi-docker && docker-compose up -d` 22 | - open chrome:`http://192.168.1.121:3000` 23 | - 初始化管理员账号名:`admin@admin.com`,密码:`ymfe.org` 24 | 25 | ## YApi 介绍 26 | 27 | - 官网: 28 | - Github: 29 | - 官网在线演示: 30 | - 使用手册: 31 | -------------------------------------------------------------------------------- /markdown-file/Zabbix-Install-And-Settings.md: -------------------------------------------------------------------------------- 1 | # Zabbix 安装和配置 2 | 3 | 4 | ## Zabbix 说明 5 | 6 | - Zabbix 是一个企业级的分布式开源监控方案,也是目前 Linux 最主流的监控方案。 7 | - Zabbix 官网: 8 | - Zabbix 官网的中文文档: 9 | 10 | ## Zabbix 基础概念 11 | 12 | - zabbix-agent 13 | - zabbix-server 14 | - 数据库(mysql/PostgreSQL) 15 | - web 界面管理 16 | - 主机(host),一般就是安装 zabbix-agent 服务服务器的称呼。一般配置 Zabbix 中 host name 就填写你的服务器的 `hostname` 命令展示出来的结果值 17 | - 主机组(host groups) 18 | 19 | ## Zabbix 安装 20 | 21 | - 官网下载最新稳定版本 **3.4** 22 | - Zabbix 官网下载和安装说明: 23 | 24 | 25 | 26 | ## 资料 27 | -------------------------------------------------------------------------------- /markdown-file/kali-linux-settings/kali-linux-basic-settings.md: -------------------------------------------------------------------------------- 1 | # 基础设置 2 | 3 | 4 | ## 修改源 5 | 6 | - 编辑配置文件:`vim /etc/apt/sources.list` 7 | - 在文件 **最前面** 添加以下条目,官网文档: 8 | 9 | ``` 10 | #中科大的源 11 | deb https://mirrors.ustc.edu.cn/kali kali-rolling main non-free contrib 12 | deb-src https://mirrors.ustc.edu.cn/kali kali-rolling main non-free contrib 13 | ``` 14 | 15 | - `apt-get update` 更新索引 16 | 17 | ## 安装公共工具 18 | 19 | - `apt-get install -y zip unzip lrzsz git` 20 | 21 | 22 | ## 安装 Zsh、Vim 23 | 24 | ``` 25 | apt-get install -y zsh 26 | 27 | wget https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O - | sh 28 | 29 | chsh -s /bin/zsh root 30 | 31 | apt-get install -y vim 32 | 33 | curl https://raw.githubusercontent.com/wklken/vim-for-server/master/vimrc > ~/.vimrc 34 | ``` 35 | 36 | ## 安装搜狗输入法 37 | 38 | - 下载 deb 文件: 39 | - 安装依赖:`apt-get install -y fcitx` 40 | - 安装 deb 文件:`dpkg -i 文件名` 41 | - 应该会提示有部分依赖不存在,则执行:`apt-get --fix-broken install -y` 42 | - 安装完成后: 43 | - 终端输入:`im-config`,一路确定,在有一个提示选项中选择:`fcitx`,重启电脑,按 Ctrl + Space 就可以切换输入法 44 | 45 | ## 安装 Visual Studio Code 46 | 47 | - 下载 deb 文件: 48 | - 安装 deb 文件:`dpkg -i 文件名` 49 | - 应该会提示有部分依赖不存在,则执行:`apt-get --fix-broken install -y` 50 | - 安装扩展 51 | - 扩展仓库: 52 | - 中文语言包 53 | - Markdown 54 | - GitLens 55 | - REST Client 56 | - Atom One Dark Theme 57 | 58 | ## 安装剪切板 59 | 60 | - 命令:`sudo apt-get install parcellite` 61 | - 修改快捷键:`右键软件 | 首选项 | Hotkeys | 历史记录按键组合` 62 | 63 | ## 安装 Peek(Gif 录制) 64 | 65 | - 自己构建 deb 包安装 66 | 67 | ``` 68 | sudo apt install cmake valac libgtk-3-dev libkeybinder-3.0-dev libxml2-utils gettext txt2man 69 | 70 | git clone https://github.com/phw/peek.git --depth=1 71 | mkdir peek/build 72 | cd peek/build 73 | cmake -DCMAKE_INSTALL_PREFIX=/usr -DGSETTINGS_COMPILE=OFF .. 74 | make package 75 | 76 | sudo dpkg -i peek-*-Linux.deb 77 | ``` 78 | 79 | ## 安装截图软 80 | 81 | ``` 82 | wget http://packages.linuxdeepin.com/deepin/pool/main/d/deepin-scrot/deepin-scrot_2.0-0deepin_all.deb 83 | sudo dpkg -i deepin-scrot_2.0-0deepin_all.deb 84 | 85 | apt-get --fix-broken install -y 86 | 87 | //终端下启动 88 | deepin-scrot 89 | ``` 90 | 91 | - 配置快捷键来截图方法(思路一样): 92 | - Kali 的快捷键设置在:设置 - 设备 - Keyboard 下 93 | 94 | 95 | ## 升级 firefox 96 | 97 | - 官网下载: 98 | - 假设放在 /opt 目录下,进行解压:`tar xjf firefox-*.tar.bz2` 99 | - 进入图标存放目录|:`cd /usr/share/applications` 100 | - 创建文件并编辑:`sudo vim firefoxnew.desktop` 101 | 102 | ``` ini 103 | [Desktop Entry] 104 | Name=firefoxnew 105 | Name[zh_CN]=firefoxnew 106 | Comment=firefox new 107 | Exec=/opt/firefox/firefox 108 | Icon=/opt/firefox/icons/updater.png 109 | Terminal=false 110 | Type=Application 111 | Categories=Application; 112 | Encoding=UTF-8 113 | StartupNotify=true 114 | ``` 115 | 116 | 117 | ## 安装 SSR 客户端 118 | 119 | - 查看: 120 | -------------------------------------------------------------------------------- /markdown-file/kali-linux-settings/kali-linux-install.md: -------------------------------------------------------------------------------- 1 | # Kali Linux 安装 2 | 3 | 4 | ## 制作 U 盘 5 | 6 | 7 | - 准备一个 U 盘,下载这个软件:[USBWriter(提取码:5aa2)](https://pan.baidu.com/s/1gg83h9T) 8 | - USBWriter 的使用很简单,如下图即可制作一个 CentOS 系统盘 9 | 10 | ![VMware 下安装](../../images/CentOS-7-Install-a-0.jpg) 11 | 12 | 13 | ## 安装过程 14 | 15 | - 这几年的几个版本安装过程都是类似的,大家可以参考这个视频教程: 16 | - 17 | - 其中,安装第一步选择中文,安装完成就会是中文的,不需要像上面这个视频那么麻烦。 18 | - 安装过程,比较差的机子差不多要 20 ~ 30 分钟。 19 | - 比较重点的几个步骤推荐: 20 | - `使用整个磁盘` 21 | - `将所有文件放在同一个分区中` 22 | - `分区设定结束并修改写入磁盘` 23 | - `将改动写入磁盘 -- 是` 24 | - `使用网络镜像 -- 是` 25 | 26 | ## 软件及系统升级 27 | 28 | - `apt-get update && apt-get upgrade` -------------------------------------------------------------------------------- /markdown-file/kali-linux-settings/kali-linux-penetration-test.md: -------------------------------------------------------------------------------- 1 | # 渗透测试思路 2 | 3 | - 来源:《Kali Linux 渗透测试的艺术》 4 | 5 | ## 范围界定 6 | 7 | - 收集需求 8 | - 筹划工作 9 | - 边界分析 10 | - 明确业务指标 11 | - 项目管理和统筹调度 12 | 13 | ## 信息收集 14 | 15 | - 互联网上的公开信息 16 | - 域名注册信息(whois) 17 | - DNS 记录分析 18 | - 路由信息 19 | - 利用搜索引擎搜索目标历史记录 20 | - Google Hack,根据 Google 的 `inurl` 等高级用法查询一些系统可能存在风险 21 | - 比如查找链接是:`asp?id=`、`php?id=1` 的链接。asp 和 php 的系统相对比较薄弱。特别是对于 asp 的老系统,建议开发者还是放弃。 22 | 23 | ## 目标识别 24 | 25 | - 识别目标还在线的主机 26 | - 识别目标在线主机的系统 27 | 28 | ## 服务枚举 29 | 30 | - 获取目标主机的情况 31 | - 开放的端口 32 | - 操作系统 33 | - 网络服务 34 | 35 | ## 漏洞扫描 36 | 37 | - 根据种类划分 38 | - 本地漏洞 39 | - 远程漏洞 40 | - 根据类型划分 41 | - 设计类漏洞 42 | - 实施类漏洞 43 | - 运营类漏洞 44 | 45 | ## 漏洞利用 46 | 47 | 48 | ## 社会工程学攻击 49 | 50 | - 心理学建模 51 | - 社会关系 52 | 53 | ## 提升权限 54 | 55 | ## 密码攻击 56 | 57 | ## 无线网络渗透测试 58 | 59 | ## 访问维护 60 | 61 | - 创建后门 62 | -------------------------------------------------------------------------------- /markdown-file/kali-linux-settings/kali-linux-social-engineering.md: -------------------------------------------------------------------------------- 1 | # 社会工程学 2 | 3 | ## 简介 4 | 5 | 6 | 7 | ## SET 工具 8 | 9 | - 命令:`setoolkit`(命令行向导式交互) 10 | - 选择 1:`Social-Engineering Attacks`,结果如下: 11 | 12 | ``` 13 | 1) Spear-Phishing Attack Vectors #鱼叉式钓鱼攻击向量(也称针对性钓鱼攻击) 14 | 2) Website Attack Vectors #网页攻击向量 15 | 3) Infectious Media Generator #媒介感染生成器 16 | 4) Create a Payload and Listener #生成一个payload和监听 17 | 5) Mass Mailer Attack #大规模邮件钓鱼 18 | 6) Arduino-Based Attack Vector #基于Arduino的攻击(类似于单片机) 19 | 7) Wireless Access Point Attack Vector #无线接入点攻击 20 | 8) QRCode Generator Attack Vector #二维码攻击 21 | 9) Powershell Attack Vectors #powershell攻击 22 | 10) Third Party Modules #第三方模块 23 | ``` 24 | -------------------------------------------------------------------------------- /markdown-file/kali-linux-settings/kali-linux-sql-injection.md: -------------------------------------------------------------------------------- 1 | # SQL 注入 2 | 3 | ## 探测到底是不是通过拼接字符串方式使用 SQL 4 | 5 | - 常用字符: 6 | 7 | ``` 8 | ' 9 | " 10 | ' and 1=1 11 | ' and 1=2 12 | 1 or 1=1 13 | 1' or '1'='1 14 | 1" or "1"="1 15 | 1' order by 1-- 16 | union select 1,2-- 17 | @@version 18 | @@datadir 19 | user() 20 | database() 21 | information_schema.tables 22 | 23 | ``` 24 | 25 | 26 | ## sqlmap 分析数据库和表名、dump 表数据 27 | 28 | #### sqlmap 介绍 29 | 30 | - 目前做 SQL 注入的工具一般大家都是选择:[sqlmap](http://sqlmap.org/) 31 | - 目前(2018年08月)只支持:2.6.x 和 2.7.x 32 | - 支持的 5 种注入类型: 33 | - 基于布尔的盲注,即可以根据返回页面判断条件真假的注入。 34 | - 基于时间的盲注,即不能根据页面返回内容判断任何信息,用条件语句查看时间延迟语句是否执行(即页面返回时间是否增加)来判断。 35 | - 基于报错注入,即页面会返回错误信息,或者把注入的语句的结果直接返回在页面中。 36 | - 联合查询注入,可以使用union的情况下的注入。 37 | - 堆查询注入,可以同时执行多条语句的执行时的注入。 38 | 39 | 40 | #### sqlmap 使用 41 | 42 | - sqlmap 的输出信息按从简到繁共分为7个级别,依次为 0 ~ 6,级别越高,检测越全面。分别代表: 43 | - 使用参数 `-v <级别>` 来指定某个等级,默认输出级别为 1 44 | 45 | ``` 46 | 0:只显示 Python 的 tracebacks 信息、错误信息 [ERROR] 和关键信息 [CRITICAL]; 47 | 1:同时显示普通信息 [INFO] 和警告信息[WARNING]; 48 | 2:同时显示调试信息[DEBUG]; 49 | 3:同时显示注入使用的攻击荷载; 50 | 4:同时显示 HTTP 请求; 51 | 5:同时显示 HTTP 响应头; 52 | 6:同时显示 HTTP 响应体。 53 | ``` 54 | 55 | - 将 Google 搜索前一百个结果作为攻击目标:`sqlmap -g "inurl:\".asp?id=1\""` 56 | - 检查注入点(GET):`sqlmap -u 目标网址` 57 | - 检查注入点(POST 数据,多个数据用分号隔开):`sqlmap -u 目标网址 --data="id=0;name=werner" --param-del=";"` 58 | - 检查注入点(Cookie,等级必须是 2 以上):`sqlmap -u 目标网址 --cookie –level 2 "JSESSIONID=123456;NAME=youmeek;" --cookie-del=";"` 59 | - 获取所有数据库信息:`sqlmap -u 目标网址 --dbs` 60 | - 获取所有数据库用户:`sqlmap -u 目标网址 --users` 61 | - 获取当前数据库信息:`sqlmap -u 目标网址 --current-db` 62 | - 获取当前用户:`sqlmap -u 目标网址 --current-user` 63 | - 获取当前数据库和当前用户:`sqlmap -u 目标网址 --current-db --current-user` 64 | - 获取有几张表:`sqlmap -u 目标网址 --tables` 65 | - 获取指定表的字段有哪些:`sqlmap -u 目标网址 -T 表名 --columns` 66 | - 获取指定表字段值:`sqlmap -u 目标网址 -T 表名 -C 字段名1,字段名2,字段名3 --dump` 67 | - 获取指定表字段所有值:`sqlmap -u 目标网址 -T 表名 -C 字段名1,字段名2,字段名3 --dump-all` 68 | - 让 HTTP 请求之间添加延迟,添加参数:`--delay 3`,单位是秒 69 | - 设置超时时间,默认是 30 秒,添加参数:`--timeout 50`,单位是秒 70 | - 设置超时后最大重试次数,默认是 3 次,添加参数:`--retries 5` 71 | - 避免错误请求过多而被屏蔽: 72 | 73 | ``` 74 | 有时服务器检测到某个客户端错误请求过多会对其进行屏蔽,而 sqlmap 的测试往往会产生大量错误请求,为避免被屏蔽,可以时不时的产生几个正常请求以迷惑服务器。有以下四个参数与这一机制有关: 75 | 76 | --safe-url: 隔一会就访问一下的安全 URL 77 | --safe-post: 访问安全 URL 时携带的 POST 数据 78 | --safe-req: 从文件中载入安全 HTTP 请求 79 | --safe-freq: 每次测试请求之后都会访问一下的安全 URL 80 | 81 | 这里所谓的安全 URL 是指访问会返回 200、没有任何报错的 URL。相应地,Sqlmap 也不会对安全 URL 进行任何注入测试。 82 | ``` 83 | 84 | - 其他常用参数: 85 | - 构造随机 user-agent:`–random-agent` 86 | - 指定 HTTP Referer头:`–referer=设定值` 87 | - 换行分开,加入其他的HTTP头:`–headers=设定值` 88 | - 忽略响应的 Set–Cookie 头信息:`–drop-set-cookie` 89 | 90 | ## 分析登录后台入口 91 | 92 | - nikto 93 | 94 | ## 资料 95 | 96 | - 97 | - 98 | - <> 99 | - <> 100 | - <> 101 | - <> 102 | - <> 103 | - <> 104 | - <> 105 | - <> -------------------------------------------------------------------------------- /markdown-file/kali-linux-settings/kali-linux-toc.md: -------------------------------------------------------------------------------- 1 | 2 | # Kali Linux 3 | 4 | ## 介绍 5 | 6 | - 官网: 7 | - 基于 Debian 8 | - 设计用于数字鉴识和渗透测试,预装了很多渗透测试程序 9 | - 支持 x86 和 ARM 架构 10 | - 官网下载: 11 | - 镜像名:Kali Linux 64 Bit,默认是用 GNOME 桌面,比较华丽,相对较卡(好点电脑推荐,习惯 Ubuntu 的基本都会用) 12 | - 镜像名:Kali Linux Xfce 64 Bit,默认是用 Xfce 桌面,比较简洁,相对不卡(配置较差的推荐,我这里一台笔记本配置较差,用的就是这个) 13 | - 镜像名:Kali Linux Kde 64 Bit,默认是用 Kde 桌面,比较华丽,相对较卡(不推荐) 14 | - 镜像名:Kali Linux Mate 64 Bit,默认是用 Mate 桌面,比较华丽,相对较卡(不推荐) 15 | - 镜像名:Kali Linux Lxde 64 Bit,默认是用 Lxde 桌面,比较简洁,相对不卡(类似 Windows 风格的桌面,不推荐) 16 | 17 | ## 学习过程 18 | 19 | - [Kali Linux 系统安装](kali-linux-install.md) 20 | - [Kali Linux 基础设置](kali-linux-basic-settings.md) 21 | - [Kali Linux 渗透测试思路](kali-linux-penetration-test.md) 22 | 23 | 24 | ## 其他资料 25 | 26 | - -------------------------------------------------------------------------------- /markdown-file/maintenance.md: -------------------------------------------------------------------------------- 1 | # 常见日常维护 2 | 3 | 4 | 5 | ## Vim 编辑文件报:Swap file "Hello.java.swp" already exists! 6 | 7 | - 问题原因: 8 | - Vim 编辑 Hello.java 文件的时候,非正常退出,然后又重新再 Vim 这个文件一般都会提示这个。 9 | - 解决办法: 10 | - 进入被编辑的文件目录,比如:Hello.java 我放在 /opt 目录下,那就先:`cd /opt`, 11 | - 然后:`ls -A`,会发现有一个:.Hello.java.swp,把这个文件删除掉:`rm -rf .Hello.java.swp`,然后重新 Vim 文件即可。 12 | 13 | 14 | -------------------------------------------------------------------------------- /markdown-file/other.md: -------------------------------------------------------------------------------- 1 | # Linux-Tutorial 2 | 3 | 在线常见命令整理: 4 | http://man.linuxde.net 5 | https://www.centos.bz/linux-basic-knowledge/ 6 | http://itlab.idcquan.com/linux/special/linuxcom/Index.html 7 | http://ganquan.info/linux/ 8 | http://wiki.open.qq.com/wiki/faq/linux……BB%A4 9 | http://i.linuxtoy.org/files/pdf/fwunixref.pdf 10 | http://waterlab.whu.edu.cn/hpc/upload/2010/6/LinuxCommand.pdf 11 | http://www.linux265.com/download/linux_cmd.pdf 12 | 13 | CHM文件常用命令整理: 14 | http://www.centoscn.com/CentosSoft/pdf/2013/0413/277.html 15 | 16 | 常见快捷键(在Ubuntu桌面上,常按win键也可以调用出系统快捷键目录列表说明): 17 | http://blog.csdn.net/xiaojianpitt/article/details/7393058 18 | http://www.ubuntukylin.com/ask/index.php?qa=jc_4 19 | 20 | 不错的ubuntu社区,可以在上面找资料和问题: 21 | http://www.wikihow.com/Category:Ubuntu 22 | 23 | 源列表推荐: 24 | http://wiki.ubuntu.org.cn/Qref/Source 25 | http://www.zhihu.com/question/19816319 26 | -------------------------------------------------------------------------------- /markdown-file/shell-safe-rm.md: -------------------------------------------------------------------------------- 1 | # 安装的 rm(删除) 2 | 3 | ## 由来 4 | 5 | - 我们都知道 `rm -rf` 是一个危险的操作,所以我们应该尽可能养成一个不要 rm 的习惯,而是 mv。 6 | 7 | ## 设置 8 | 9 | - 创建一个用来存放要被我们删除的文件夹存放地:`cd $home && mkdir .trash` 10 | - 赋予最高权限(个人习惯):`chmod 777 .trash` 11 | - 如果你使用 bash,你需要修改你的 home 目录下的:`.bashrc` 12 | - 我使用的是 zsh,所以我修改:`vim .zshrc`,在文件的最后面增加下面内容: 13 | 14 | ``` 15 | # rm transform 16 | function rm() { 17 | # garbage collect 18 | now=$(date +%s) 19 | for s in $(ls --indicator-style=none $HOME/.trash/) ;do 20 | dir_name=${s//_/-} 21 | dir_time=$(date +%s -d $dir_name) 22 | # if big than one month then delete 23 | if [[ 0 -eq dir_time || $(($now - $dir_time)) -gt 2592000 ]] ;then 24 | echo "Trash " $dir_name " has Gone " 25 | /bin/rm $s -rf 26 | fi 27 | done 28 | 29 | # add new folder 30 | prefix=$(date +%Y_%m_%d) 31 | hour=$(date +%H) 32 | mkdir -p $HOME/.trash/$prefix/$hour 33 | if [[ -z $1 ]] ;then 34 | echo 'Missing Args' 35 | return 36 | fi 37 | echo "Hi, Trashing" $1 "to /root/.trash" 38 | mv $1 $HOME/.trash/$prefix/$hour 39 | } 40 | ``` 41 | 42 | - 刷新配置:`source ~/.zshrc` 43 | - 然后断开终端,重新连接 44 | - 此时如果你使用:`rm -rf a.txt` 会出现这样的提示: 45 | 46 | ``` 47 | Hi, Trashing -rf to /root/.trash 48 | mv: invalid option -- 'r' 49 | Try 'mv --help' for more information. 50 | ``` 51 | 52 | - 现在我们删除一个测试文件:`rm a.txt`,会事显示:`Hi, Trashing a.txt to /root/.trash` 53 | - 因为我们上面的 shell 每次触发 rm 明白的时候都会去删除一个月前的目录,所以就不需要定时器来删除 .trash 里面的文件了。 54 | - 如果你要强制删除,清空 .trash 目录,可以使用真正的 rm 命令:`/usr/bin/rm -rf ~/.trash/*` 55 | 56 | 57 | ## 资料 58 | 59 | - 60 | -------------------------------------------------------------------------------- /markdown-file/speedtest.md: -------------------------------------------------------------------------------- 1 | # 终端测速 2 | 3 | 4 | - 目前大家主推这个项目: 5 | - 用起来也比较简单,Python 2 ~ 3 都支持。 6 | 7 | ## 简单安装方式 8 | 9 | - 命令:`pip install speedtest-cli` 10 | - 官网还介绍了其他很多安装使用方式,大家可以自行看下。 11 | 12 | ## 运行 13 | 14 | - 命令:`speedtest-cli` 15 | - 结果如下: 16 | 17 | ``` 18 | Retrieving speedtest.net configuration... 19 | Testing from China Telecom Guangdong (113.67.181.234)... 20 | Retrieving speedtest.net server list... 21 | Selecting best server based on ping... 22 | Hosted by CTM Internet Services (Macau) [106.48 km]: 64.783 ms 23 | Testing download speed................................................................................ 24 | Download: 1.05 Mbit/s 25 | Testing upload speed................................................................................................ 26 | Upload: 2.28 Mbit/s 27 | ``` 28 | 29 | 30 | -------------------------------------------------------------------------------- /markdown-file/ubuntu-settings/Network-Settings.md: -------------------------------------------------------------------------------- 1 | # Ubuntu 网络相关设置问题 2 | 3 | 4 | ## 网络配置 5 | 6 | 7 | - 现在大家默认家里都是有路由器来着,所以如果只是为了联网,基本这些都不需要配置,直接插上网线一般就可以用了。 比较特殊的可能就是有的家里没路由器,而且还是 PPPOE 拨号上网的,那这个也有对应的设置可以参考: 8 | - 9 | - 10 | - 11 | - 12 | - 上面四篇文章讲了很多方法,我个人平时是喜好用进入DOS的图形界面进行设置方式,命令:`sudo pppoeconf` 13 | - 如果你在 Ubuntu 网络连接的时候出现这种情况:未找到合法的活动链接 可以编辑 **/etc/NetworkManager/NetworkManager.conf**,把文件里的 `managed=false` 改成 `managed=true`,重启电脑后应该就可以了。 14 | - 具体可以看: 15 | - 如果你是某个高校的学生,学校联网有自己的独立客户端的话,那你就关注下是否有linux系统的客户端了,这里我就帮不上了。 16 | - 你有可能跟我一样还需要不时穿越,通用设置VPN的方法我也准备好了,你只要根据下面图片设置即可,但是需要注意的是,配置好后,最好重启电脑,不然可能没办法连接上,这点很重要。 17 | 18 | 19 | ## 设置局域网静态 IP(固定 IP) 20 | 21 | - 我目前有一台 Windows,一台 Ubuntu,Ubuntu 有时候是直接在 Windows 上直接 SSH 连接上去的,所以如果自动分配 IP 的话就比较麻烦。 22 | - 编辑配置文件:`sudo vim /etc/network/interfaces` 23 | - 配置文件内容中,部分信息改为如下: 24 | 25 | ``` nginx 26 | auto eth0 27 | # iface eth0 inet dhcp 28 | # 注释上面默认配置的 DHCP 设置,改为下面这个 static 29 | iface eth0 inet static 30 | address 192.168.1.103 # IP 地址 31 | netmask 255.255.255.0 # 子网掩码 32 | gateway 192.168.1.1 # 网关 33 | ``` 34 | 35 | 36 | ## 设置DNS服务器 37 | 38 | - 编辑配置文件:`sudo vim /etc/resolvconf/resolv.conf.d/base` 39 | - 如果里面没内容,则新增下面两个:(我是广州电信,这两个 DNS 是我根据 360 安全卫士 DNS 优选功能自动筛选出来的,每个地区的人得到结果可能都不一样) 40 | ``` nginx 41 | nameserver 123.125.81.6 42 | nameserver 8.8.8.8 43 | ``` 44 | - 更新 resolv.conf 文件:`sudo resolvconf -u` 45 | - 重启服务:`sudo /etc/init.d/networking restart`,如果重启服务没效果那就重启系统试试看。 46 | 47 | 48 | ## 配置 VPN(作为开发者经常用): 49 | 50 | - ![Ubuntu VPN 配置](../images/Ubuntu-a-3.jpg) 51 | - ![Ubuntu VPN 配置](../images/Ubuntu-a-4.jpg) 52 | - ![Ubuntu VPN 配置](../images/Ubuntu-a-5.jpg) 53 | - ![Ubuntu VPN 配置](../images/Ubuntu-a-6.jpg) 54 | 55 | 56 | ## 其他常见问题 57 | 58 | - 如果你的 Ubuntu 设置固定 IP 后网络图标消失且无法查看 IP:`sudo vim /etc/NetworkManager/NetworkManager.conf` 59 | - 修改该值为:`managed=true` (原值为 false) 60 | 61 | 62 | ## 资料: 63 | 64 | - 65 | - 66 | 67 | 68 | -------------------------------------------------------------------------------- /markdown-file/ubuntu-settings/Ubuntu-Create-Desktop.md: -------------------------------------------------------------------------------- 1 | # Ubuntu 给 Dash 添加程序图标 2 | 3 | ## 创建图标文件 4 | 5 | - 我们建设以创建 pycharm 程序图标为例 6 | - 进入图标存放目录|:`cd /usr/share/applications` 7 | - 创建文件并编辑:`sudo gedit pycharm.desktop` 8 | ``` ini 9 | [Desktop Entry] 10 | Name=Pycharm 11 | Name[zh_CN]=Pycharm 12 | Comment=Pycharm3:The Python IDE 13 | Exec=/pycharm-community-2017.1.1/bin/pycharm.sh 14 | Icon=/pycharm-community-2017.1.1/bin/pycharm.png 15 | Terminal=false 16 | Type=Application 17 | Categories=Application; 18 | Encoding=UTF-8 19 | StartupNotify=true 20 | ``` 21 | - 重点参数说明(注意:路径使用完整路径) 22 | - Name 为你想要显示在 Launcher 中的名称 23 | - Comment 为说明。 24 | - Exec 为程序执行位置 25 | - Icon 为图标所在路径 26 | - 最后,打开 Dash,在顶部搜索框搜索 **pycharm**,此时你应该能搜到它,先单击试一下看能不能打开,如果可以打开,拖到该图标启动器上,下次就可以直接从启动器打开了 27 | 28 | ## 资料 29 | 30 | - 图文资料: 31 | - 图文资料: 32 | - 图文资料: 33 | -------------------------------------------------------------------------------- /markdown-file/ubuntu-settings/Ubuntu-Extra-Packages.md: -------------------------------------------------------------------------------- 1 | # Ubuntu 源设置 2 | 3 | 4 | ## 介绍 5 | 6 | - 简单地讲:修改资源源地址主要是为了加快下载速度,默认的资源源地址在是境外,速度肯定没有境内速度快。 7 | - 了解源这东西: 8 | - 文章的重点是页面最下面,每个版本的源地址都是不一样的,所以要懂得替换对应的版本英文名称,各个版本的英文名称大家自己找下,然后进行修改。 9 | 10 | 11 | ## 修改源 12 | 13 | - 国内常用源配置方法: 14 | - 163 源: 15 | - 阿里源: 16 | - sohu: 17 | - 替换过程(更换之前最好备份一下 sources.list 配置文件): 18 | - 我以 Ubuntu 14.04 为例,使用网易源: 19 | - 备份下:`sudo cp /etc/apt/sources.list /etc/apt/sources_20151128_back.list` 20 | - 用 gedit 编辑器打开配置文件:`sudo gedit /etc/apt/sources.list`,替换里面所有内容为下面这些内容: 21 | ``` ini 22 | deb http://mirrors.163.com/ubuntu/ trusty main restricted universe multiverse 23 | deb http://mirrors.163.com/ubuntu/ trusty-security main restricted universe multiverse 24 | deb http://mirrors.163.com/ubuntu/ trusty-updates main restricted universe multiverse 25 | deb http://mirrors.163.com/ubuntu/ trusty-proposed main restricted universe multiverse 26 | deb http://mirrors.163.com/ubuntu/ trusty-backports main restricted universe multiverse 27 | deb-src http://mirrors.163.com/ubuntu/ trusty main restricted universe multiverse 28 | deb-src http://mirrors.163.com/ubuntu/ trusty-security main restricted universe multiverse 29 | deb-src http://mirrors.163.com/ubuntu/ trusty-updates main restricted universe multiverse 30 | deb-src http://mirrors.163.com/ubuntu/ trusty-proposed main restricted universe multiverse 31 | deb-src http://mirrors.163.com/ubuntu/ trusty-backports main restricted universe multiverse 32 | ``` 33 | - 更换源之后,需要在终端中执行:`sudo apt-get update`,这是必须做的,不然你后面可能会遇到 apt-get 安装会提示:未发现软件包。 34 | -------------------------------------------------------------------------------- /markdown-file/ubuntu-settings/Ubuntu-Popular-Settings.md: -------------------------------------------------------------------------------- 1 | # Ubuntu 常用的设置 2 | 3 | 4 | 5 | 右键桌面设置中有一个“开启工作区“这个类似虚拟桌面,可以有多个桌面,工作的时候很有用。 6 | 7 | 桌面右键设置唤醒和黑屏之后唤醒不需要输入密码,既然是平时的开发机,那就没啥多大隐私,而且是在自己家里, 设置密码太麻烦了。 8 | 9 | 10 | 改变鼠标图标大小,小了我看着不爽,下面三个文章是我找的,但是都不适合我: 11 | 我最终的方式是:安装 dconf-tools 12 | 安装后好,编辑这个文件,命令:gedit ~/ .Xresources 13 | 在打开的文件中添加这句话:Xcursor.size:48,其中48是文字大小,默认系统是24的大小,然后重启电脑即可。 14 | 15 | 16 | 17 | 查看隐藏文件和目录:按 Ctrl+H 18 | http://jingyan.baidu.com/article/49711c61415945fa441b7c89.html 19 | 20 | 21 | 22 | Ubuntu使用root账号登录图形界面,必须先给root设置密码,并解锁: 23 | 设置密码:sudo passwd root 24 | 解锁:sudo passwd -u root 25 | 锁住:sudo passwd -l root 26 | 解锁之后,修改这个配置文件,命令:vi /etc/lightdm/lightdm.conf,最后添加一行:greeter-show-manual-login=true (这一行表示可以输入用户名的方式登录账号),重启电脑,登录界面就有一个可以输入用户名的输入框,直接输入root,再输入密码。 27 | 28 | 29 | 30 | 不输入密码执行sudo命令方法介绍: 31 | http://www.nenew.net/nopasswd-exec-sudo-sudoers.html 32 | http://blog.xuite.net/chingwei/blog/38359401……A2%BC(需要穿越) 33 | 34 | 35 | -------------------------------------------------------------------------------- /markdown-file/ubuntu-settings/Ubuntu-UI.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | ## Ubuntu 常见桌面环境方案 4 | 5 | - [GNOME](https://www.gnome.org/) 6 | - [KDE](https://www.kde.org/) 7 | - [Unity8](https://ubports.com/zh_CN/blog/1/post/unity8-on-the-desktop-95) 8 | - MATE 9 | - Cinnamon 10 | - Lxde 11 | - Xfce 12 | 13 | ## Ubuntu 18.04 桌面环境方案 14 | 15 | - 使用 GNOME 16 | 17 | ## Ubuntu 16.04 桌面环境方案 18 | 19 | - 使用 Unity 20 | 21 | ------------------------------------------------------------ 22 | 23 | ## GUI 工具包 24 | 25 | - [GTK](https://www.gtk.org/) 26 | - [Qt](https://www.qt.io/) 27 | 28 | ------------------------------------------------------------ 29 | 30 | ## 常见桌面环境方案 与 GUI 工具包关系 31 | 32 | - GNOME、LXDE、Xfce 使用 GTK 工具包 33 | - KDE、Unity8 使用 Qt 工具包 34 | 35 | 36 | ## 资料 37 | 38 | - [自由之选:七大顶尖 Linux 桌面环境比拼](https://linux.cn/article-6021-1.html) 39 | - [自由奔放的 Linux (3)—— Gnome 与 KDE](http://blog.sciencenet.cn/blog-530833-540604.html) 40 | - [自由奔放的 Linux (2) ——Ubuntu 与 Fedora](http://blog.sciencenet.cn/home.php?mod=space&uid=530833&do=blog&id=540366) 41 | -------------------------------------------------------------------------------- /markdown-file/ubuntu-settings/ubuntu-settings-toc.md: -------------------------------------------------------------------------------- 1 | - [Ubuntu 网络相关设置问题](Network-Settings.md) 2 | - [Ubuntu 源设置](Ubuntu-Extra-Packages.md) 3 | - [Ubuntu 给 Dash 添加程序图标](Ubuntu-Create-Desktop.md) 4 | - [Ubuntu 常用设置](Ubuntu-Popular-Settings.md) 5 | - [Ubuntu 常见桌面环境方案](Ubuntu-UI.md) 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /markdown-file/wrk-Install-And-Settings.md: -------------------------------------------------------------------------------- 1 | # wrk 安装和配置 2 | 3 | 4 | ## wrk 说明 5 | 6 | - wrk 相对于 ab 来说最大的优点是它支持多线程,可以有更大的并发量 7 | 8 | 9 | ## 安装 10 | 11 | - CentOS 7.4 12 | - 官网说明: 13 | 14 | ``` 15 | # 安装工具包的时候差不多有 90 个左右的子工具 16 | sudo yum groupinstall 'Development Tools' 17 | sudo yum install -y openssl-devel git 18 | git clone --depth=1 https://github.com/wg/wrk.git wrk 19 | cd wrk 20 | make 21 | # move the executable to somewhere in your PATH 22 | sudo cp wrk /usr/local/bin 23 | ``` 24 | 25 | - 查看帮助:`wrk --help` 26 | 27 | ## 使用 28 | 29 | - 启用 10 个线程,每个线程发起 100 个连接,持续 30 秒:`wrk -t10 -c100 -d30s http://www.baidu.com` 30 | - 最终报告: 31 | 32 | ``` 33 | Running 30s test @ http://www.baidu.com 34 | 5 threads and 5 connections 35 | Thread Stats Avg Stdev Max +/- Stdev 36 | Latency 44.59ms 17.41ms 331.91ms 95.66% 37 | Req/Sec 23.11 5.77 30.00 57.04% 38 | 3439 requests in 30.03s, 50.47MB read 39 | Socket errors: connect 0, read 10, write 0, timeout 0 40 | Requests/sec: 114.52 41 | Transfer/sec: 1.68MB 42 | ``` 43 | 44 | #### 使用 lua 脚本(发送一个 post 请求) 45 | 46 | - 创建:`vim /opt/post-wrk.lua` 47 | 48 | ``` 49 | wrk.method = "POST" 50 | wrk.body = "hms_user_id=222222&routing_key=ad.sys_user.add" 51 | wrk.headers["Content-Type"] = "application/x-www-form-urlencoded" 52 | ``` 53 | 54 | - 测试:`wrk -t10 -c100 -d15s --script=/opt/post-wrk.lua --latency http://127.0.0.1:9090/websocket/api/send-by-user-id` 55 | 56 | 57 | ## 其他说明 58 | 59 | - wrk 使用的是 HTTP/1.1,缺省开启的是长连接 60 | - 要测试短连接:`wrk -H "Connection: Close" -c 100 -d 10 http://domain/path` 61 | 62 | ## 资料 63 | 64 | - 65 | - 66 | --------------------------------------------------------------------------------