docker run -id --name=redis -p 6381:6379 redis:7.0
docker run -id --name=mysql -p 3308:3306 -e MYSQL_ROOT_PASSWORD=root mysql:5.7
docker run -id --name nginx -p 83:80 nginx:1.20
华为centos镜像下载地址https://mirrors.huaweicloud.com/centos/https://mirrors.huaweicloud.com/centos/7.9.2009/isos/x86_64/网易centos镜像下载地址 http://mirrors.163.com/centos/7.9.2009/isos/x86_64/查看linux版本命令1、cat /etc/redhat-release :CentOS Linux release 7.9.2009 (Core)2、cat /etc/centos-release :CentOS Linux release 7.9.2009 (Core)查看linux内核命令uname -r : 3.10.0-1160.62.1.el7.x86_64
# vi /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="none" #开启静态IP,也可用 static
IPADDR="192.168.136.161"
NETMASK="255.255.255.0" # 子网掩码
GATEWAY="192.168.136.2" # 网关地址
DNS1="114.114.114.114" # DNS服务器
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33"
UUID="63d66e06-e7d7-45ff-ab0b-8e6dcaf912b9"
DEVICE="ens33"
ONBOOT="yes"
PREFIX="24"
IPV6_PRIVACY="NO"
1、yum -y install net-tools --安装网络插件(ifconfig)
2、yum -y install vim --安装vim插件
3、yum -y install lrzsz --安装传输插件
4、yum -y install git --安装git
5、yum -y install tree --安装属性展示插件
6、yum -y install wget --安装下载插件
7、yum -y install unzip zip --安装zip压缩插件zip -r myfile.zip ./* :将当前目录下的所有文件和文件夹全部压缩成myfile.zip文件,-r表示递归压缩unzip -o -d /home/sunny myfile.zip : 把myfile.zip文件解压到 /home/sunny/目录下-o:不提示的情况下覆盖文件; -d:指明将文件解压缩到/home/sunny目录下zip -d myfile.zip smart.txt:删除压缩文件中smart.txt文件zip -m myfile.zip ./rpm_info.txt :向压缩文件中myfile.zip中添加rpm_info.txt文件
8、yum -y update --更新yum源
9、yum -y install lsof --安装lsof插件(查看端口占用)
方式一:1、 CentOS7利用yum进行软件安装,报错:There are no enabled repos. Run "yum repolist all" to see the repos you have2、下载对应版本repo文件,如:CentOS7-Base-163.repo, 放入/etc/yum.repos.d/里3、下载地址:http://mirrors.163.com/.help/centos.html4、完成后,查看/etc/yum.repos.d文件夹下是否有了CentOS-Base.repo文件。5、执行命令,生成缓存:yum clean all yum makecache方式二:1、先备份本地默认的yum源cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo_bak2、获取新的yum源,一般使用阿里或者网易的1)、阿里cd /etc/yum.repos.d/wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo2)、网易cd /etc/yum.repos.d/wget http://mirrors.163.com/.help/CentOS7-Base-163.repo3、执行命令,生成缓存:yum clean all yum makecache
关于防火墙: 要想在windows上能够访问,还需要开放防火墙的对应的端口,如mysql的3306端口1)、查看防火墙状态1、service firewalld status2、systemctl status firewalld 3、firewall-cmd --state 2)、开放单个端口:firewall-cmd --zone=public --add-port=3306/tcp --permanentfirewall-cmd --reload3)、关闭单个端口:firewall-cmd --zone=public --remove-port=8080/tcp --permanentfirewall-cmd --reload4)、查看开放端口:firewall-cmd --zone=public --list-ports 5)、完全关闭防火墙systemctl stop firewalld #关闭防火墙systemctl disable firewalld #禁用防火墙(禁止随系统自动启动)6)、开启防火墙systemctl start firewalld #开启防火墙systemctl enable firewalld #启用防火墙(随系统自动启动)
1、文件和目录命令1)、退回上一级目录 cd .. |进入根目录 cd / |进入当前用户主目录cd ~ 1、查看端口占用linux: netstat -tunlp | grep 端口号lsof -i:端口号 (需要root权限执行)【安装lsof:yum -y install lsof.*】windows: netstat -ano | findstr 端口号2、杀进程linux: kill -9 进程IDwindows: tastkill /PID 进程ID /F3、服务管理service 【服务名称】 【start|restart|stop|status】例子: service docker startsystemctl 【command】 【unit】 (command为命令,unit为服务名)例子: systemctl enable docker command命令还有如下: start:立刻启动后面接的 unit。 stop:立刻关闭后面接的 unit。 restart:立刻关闭后启动后面接的 unit,亦即执行 stop 再 start 的意思。 reload:不关闭 unit 的情况下,重新载入配置文件,让设置生效。 enable:设置下次开机时,后面接的 unit 会被启动。 disable:设置下次开机时,后面接的 unit 不会被启动。 status:目前后面接的这个 unit 的状态,会列出有没有正在执行、开机时是否启动等信息。 is-active:目前有没有正在运行中。 is-enable:开机时有没有默认要启用这个 unit。 kill :不要被 kill 这个名字吓着了,它其实是向运行 unit 的进程发送信号。 show:列出 unit 的配置。 mask:注销 unit,注销后你就无法启动这个 unit 了。 unmask:取消对 unit 的注销。
4、wget : wget命令用来从指定的URL下载文件。wget非常稳定,它在带宽很窄的情况下和不稳定网络中有很强的适应性,如果是由于网络的原因下载失败,wget会不断的尝试,直到整个文件下载完毕。如果是服务器打断下载过程,它会再次联到服务器上从停止的地方继续下载。
5、sed:替换文本中的关键字sed -i -e ‘s#需要被替换的关键字#目标关键字#g’ 文件名6、查看进程查看java进程:ps -ef|grep java查看java进程名占用进程的进程id:pgrep java查看指定进程id的运行目录:pwdx 54096
1、进入vim:vim 文件名
2、进入编辑模式: 按 【i】
3、退出编辑模式: 按 【ESC】
4、保存退出vim: 输入 【:wq】
5、强制退出vim: 输入 【q!】
6、定位到第一行: 按 【gg 或 1G】
7、定位到最后一行: 按 【G】
8、定位到指定行: 输入 【指定行号G】
9、定位到行首: 按【0】
10、定位到行尾 按 【shift + 4】
11、撤销:按【u】
JDK下载地址:https://www.oracle.com/java/technologies/downloads/
1、自己新建一个目录,用于存放和安装JDK:mkdir -p /root/install/jdk
2、使用linux自带sftp工具(alt+p)从本机上传至linux命令 : put 文件夹路径 从linux上获取文件命令 : get 文件夹路径或者使用lrzsz工具(yum -y install lrzsz)从本机上传至linux命令 : rz (图形化界面,将文件上传至当前目录)从linux上获取文件命令 : sz 文件夹路径将JDK1.8的安装包上传至自己新建的目录
3、解压缩包: tar -zxvf jdk-8u171-linux-x64.tar.gz
4、编辑系统profile文件vim /etc/profile添加如下配置:#set java environmentJAVA_HOME=/root/install/jdk/jdk1.8.0_171JRE_HOME=/root/install/jdk/jdk1.8.0_171/jreCLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/libPATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/binexport JAVA_HOME JRE_HOME CLASS_PATH PATH
5、刷新配置文件source /etc/profile
6、验证java -version
1、将Tomcat的安装包上传至linux:/root/install/tomcat
2、进入tomcat目录进行解压:tar -zxvf apache-tomcat-7.0.57.tar.gz
3、启动tomcat:cd /root/install/tomcat/apache-tomcat-7.0.57/binsh startup.sh或者./startup.sh
4、查看是否启动1)、通过查看日志的形式:tail -500f /root/install/tomcat/apache-tomcat-7.0.57/logs/catalina.out2)、通过查看进程的方式:ps -ef|grep tomcat
5、可在tomcat的webapp中放入项目,如新建test文件夹,在其中放入index.html文件
6、访问:http://192.168.200.161:8080/mytest/index.html
#1、搜索tomcat镜像
docker search tomcat#2、拉取tomcat镜像
docker pull tomcat:9.0#3、在/root目录下创建tomcat目录用于存储tomcat数据信息
mkdir ~/tomcat
cd ~/tomcat#4、进入tomcat目录 创建容器,设置端口映射、目录映射、自动启动
docker run -id \
-p 8081:8080 \
--name=tomcat9 \
--restart=always \
-v $PWD:/usr/local/tomcat/webapps \
tomcat:9.0#5、在tomcat目录下创建mytest目录,并新建index.html,写入文字
#6、访问 http://192.168.200.161:8081/mytest/index.html 进行测试
Mysql下载地址:https://downloads.mysql.com/archives/community/
https://dev.mysql.com/downloads/installer/
https://downloads.mysql.com/archives/installer/
1、卸载。下载完成之后,先不要急着安装。由于某些原因,在安装 MySQL 之前,可能电脑中已经有了安装过 MySQL 的痕迹,这可能会给下面 MySQL 的安装带来各种问题(如密码不能初始化、MySQL 执行失败等),因此首先需要先彻底清除电脑中与 MySQL 有关的任何文件。rpm -qa 查询当前系统中安装的所有软件rpm -qa | grep mariadb 查询当前系统中安装的名称带mariadb的软件 通过查询,发现在当前系统中存在mariadb数据库,是CentOS7中自带的,而这个数据库和MySQL数据库是冲突的, 所以要想保证MySQL成功安装,需要卸载mariadb数据库。rpm中,卸载软件的语法为:rpm -e --nodeps 软件名称卸载mariadb: rpm -e --nodeps mariadb-libs-5.5.60-1.el7_5.x86_64稳妥起见,用命令再次检测1)、检查电脑里是否已经安装了 MySQL。输入以下命令来查看电脑中与 MySQL 有关的安装信息。sudo yum list installed mysql*2)、如果命令的输出什么也没有,那就无需卸载。如果有,则要输入以下命令来卸载:sudo yum erase mysql*3)、卸载通常不是万能的,还需要手动删除与 MySQL 有关的文件。输入以下命令来查找这种文件sudo find / -name 'mysql*'4)、输入以下命令来删除目录 /var/、/usr/、/etc/ 下的这些文件sudo find /var /usr /etc -name "mysql*" -exec rm -r {} \;5)、删除完成之后,再使用上面的查找命令,看看还能不能找到这些文件。2、上传:将下载好的mysql rpm包上传至linux目录:/root/install/mysql3、解压:tar -zxvf mysql-5.7.25-1.el7.x86_64.rpm-bundle.tar.gz 4、安装:核心的安装包是 mysql-community-server。在普通情况下,使用命令 sudo yum localinstall mysql-community-server-8.0.26-1.el8.x86_64.rpm 即可。但在此处却不能这样做,因为 MySQL 的各个组成安装包之间有复杂的依赖关系,而 mysql-community-server 并不是依赖的起点,所以需要按依赖关系依次安装rpm -ivh mysql-community-common-5.7.25-1.el7.x86_64.rpmrpm -ivh mysql-community-libs-5.7.25-1.el7.x86_64.rpmrpm -ivh mysql-community-devel-5.7.25-1.el7.x86_64.rpmrpm -ivh mysql-community-libs-compat-5.7.25-1.el7.x86_64.rpmrpm -ivh mysql-community-client-5.7.25-1.el7.x86_64.rpmyum install net-toolsrpm -ivh mysql-community-server-5.7.25-1.el7.x86_64.rpm但是,注意: 以下命令可以自动解析本目录下各安装包的依赖关系,并自动按顺序安装:sudo yum -y localinstall *.rpm
5、验证mysql --version
6、运行状态控制:MySQL安装完成之后,会自动注册为系统的服务,服务名为mysqld。那么,我们就可以通过systemctl指令来查看mysql的状态、启动mysql、停止mysqlsystemctl status mysqld 查看mysql服务状态systemctl start mysqld 启动mysql服务systemctl stop mysqld 停止mysql服务 systemctl enable mysqld 开机自启
当然,还可以通过如下两种方式,来判定mysql是否启动:netstat -tunlp 查看已经启动的服务netstat -tunlp | grep mysql 查看mysql的服务信息ps –ef | grep mysql 查看mysql进程7、查看临时密码:rpm安装的mysql,在mysql第一次启动时,会自动帮我们生成root用户的访问密码,并且输出在mysql的日志文件 /var/log/mysqld.log,注意,该密码如果忘记,只能重新安装mysqlcat /var/log/mysqld.log | grep password 8、登录mysql -uroot -p'ZBrVGHWNk0(A'9、修改密码查看密码强度设定:SHOW VARIABLES LIKE 'validate_password%';修改密码强度:set global validate_password_length=4; #密码长度最低位数,默认是8set global validate_password_policy=LOW; #密码安全等级低,默认是MEDIUM,便于密码可以修改成rootset password = password('root'); #设置localhost user密码为root也可用如下命令修改:#设置指定user的密码为rootALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码'#刷新权限flush privileges;10、开启远程访问权限#也可用来修改指定用户密码grant all on *.* to 'root'@'%' identified by 'root'; #注意:远程只能通过% Host访问#或update user set user.Host='%' where user.User='root'; #然后刷新权限flush privileges;11、连接验证1)、 通过windwos cmd连接:mysql -h 192.168.200.161 -P 3306 -uroot -proot2)、通过客户端连接工具连接通过某些客户端连接时,可能会报如下错:plugin caching sha2 password could not be loaded原因是:客户端采用的密码认证方式落后了,现在8.0的mysql采用的sha2加密方式并没有更新到R包中,因此需要更改mysql的指定用户的加密方式,拿wifi举例,等于现在用户设备不支持wap2加密,只能用上一代的wap加密方式。解决:修改mysql的加密方式#修改加密规则ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;ALTER USER 'root'@'%' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;#更新用户的密码ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root'; #刷新权限FLUSH PRIVILEGES;#重置密码#ALTER USER 'root'@'localhost' IDENTIFIED BY 'password'; 12、设置开机自启systemctl enable mysqld13、修改msyql root密码方法1: 用SET PASSWORD命令首先登录MySQL,用如下命令查看数据库root用户密码情况:SELECT `HOST`,`User`,`authentication_string` FROM mysql.user WHERE `User` = 'root'#1、设置 localhost Host密码为root123 (localhost Host控制本机器连接)#2、设置 % Host密码为root123 (% Host控制远程连接)格式:mysql> set password for 用户名@Host = password('新密码');例子:mysql> set password for root@localhost = password('root123');mysql> set password for root@'%' = password('root123');flush privileges;方法2:用mysqladmin 修改Host为localhost的用户密码格式:mysqladmin -u用户名 -p旧密码 password 新密码例子:mysqladmin -uroot -proot password root123 #设置localhost Host密码为root123flush privileges;14、如果忘记mysql root密码1)、停掉mysql服务 service mysqld stop2)、修改/etc/my.cnf 文件,在mysqld下面 增加 skip-grant-tables ,作用是登陆是跳开密码校验3)、启动mysql服务 service mysqld start4)、登陆 mysql -u root5)、修改密码(将密码修改为 root123 ) 依次执行以下操作use mysql#一并修改Host为%和Host为localhost的两个root用户密码为root123update mysql.user set authentication_string=password('root123') where user='root' flush privileges;6)、/etc/my.cnf 文件删掉 skip-grant-tables6)、重启mysql服务service mysqld restart
#1、搜索mysql镜像
docker search mysql#2、拉取mysql镜像
docker pull mysql:8.0#3、在/root目录下创建mysql目录用于存储mysql数据信息
mkdir ~/install/docker/mysql
cd ~/install/docker/mysql#4、进入mysql目录 创建容器,设置端口映射、目录映射、自动启动
docker run -id \
-p 3307:3306 \
--name=mysql8 \
--restart=always \
-v $PWD/conf:/etc/mysql/conf.d \
-v $PWD/logs:/logs \
-v $PWD/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=root \
mysql:8.0 \
--character-set-server=utf8mb4 \
--collation-server=utf8mb4_unicode_ci #5、进入容器,操作mysql
docker exec –it mysql /bin/bash#6、可使用mysql客户端连接mysql进行测试
Maven下载地址:http://maven.apache.org/download.cgi
1、下载并上传至linux目录:/root/install/maven
2、解压:tar -zxvf apache-maven-3.6.1-bin.tar.gz -C /usr/local
3、修改环境变量:编辑系统profile文件vim /etc/profile修改添加如下配置:#set java environmentJAVA_HOME=/root/install/jdk/jdk1.8.0_171JRE_HOME=/root/install/jdk/jdk1.8.0_171/jreMAVEN_HOME=/root/install/maven/apache-maven-3.6.1CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/libPATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin:$MAVEN_HOME/binexport JAVA_HOME JRE_HOME MAVEN_HOME CLASS_PATH PATH让配置生效: source /etc/profile
4、配置本地仓库地址1)、进入setting文件目录cd /root/install/maven/apache-maven-3.6.1/conf2)、编辑settings.xml配置文件vim settings.xml3)、在其中增加如下配置,配置本地仓库地址/root/install/maven/repository 4)、在settings.xml中的标签中,配置阿里云的私服 alimaven central aliyun maven http://maven.aliyun.com/nexus/content/groups/public/
1、介绍Nginx是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的,第一个公开版本0.1.0发布于2004年10月4日。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好,中国大陆使用nginx的网站有:百度、京东、新浪、网易、腾讯、淘宝等。2、官网:官网:https://nginx.org/
3、官方下载:http://nginx.org/en/download.html
1、由于nginx是基于c语言开发的,所以需要安装c语言的编译环境,及正则表达式库等第三方依赖库:yum -y install gcc pcre-devel zlib-devel openssl openssl-devel
2、在线下载Nginx安装包(可选)yum -y install wgetwget https://nginx.org/download/nginx-1.16.1.tar.gz (wget命令用来从指定的URL下载文件)
3、配置Nginx编译环境cd nginx-1.16.1./configure --prefix=/usr/local/nginx
4、编译 & 安装make & make install
5、安装完Nginx后,切换到Nginx的安装目录(/usr/local/nginx),Nginx的目录结构如下:1)、conf:配置文件的存放目录2)、conf/nginx.conf:Nginx的核心配置文件3)、html:存放静态资源(html, css,等) 部署到Nginx的静态资源都可以放在html目录中4)、logs:存放nginx日志(访问日志、错误日志等)5)、sbin/nginx:二进制文件,用于启动、停止Nginx服务,执行命令需切到本目录执行
6、常用nginx命令1)、查看版本:./nginx -v2)、检查配置文件:./nginx -t (可用于修改核心配置文件后,检测文件是否有错误)3)、启动:./nginx 4)、检测:ps -ef|grep nginx(服务启动后,默认就会有两个进程,一个主进程,一个工作进程)5)、停止:./nginx -s stop6)、重新加载:./nginx -s reload (修改了Nginx配置文件后,需要重新加载才能生效)
7、配置nginx环境变量vim /etc/profile :NGINX_HOME=/usr/local/nginx/sbinPATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin:$MAVEN_HOME/bin:$NGINX_HOMEsource /etc/profile
8、访问:直接访问Nginx的80端口, http://192.168.200.161
#1、搜索ngnix镜像
docker search ngnix#2、拉取ngnix镜像
docker pull ngnix#3、在/root目录下创建ngnix目录用于存储ngnix数据信息,并配置ngnix配置文件
mkdir ~/install/docker/ngnix
cd ~/install/docker/ngnix
mkdir conf
cd conf
vim nginx.conf#4、在~/nginx/conf/下创建nginx.conf文件,粘贴下面内容
user nginx;
worker_processes 1;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
events {worker_connections 1024;
}
http {include /etc/nginx/mime.types;default_type application/octet-stream;log_format main '$remote_addr - $remote_user [$time_local] "$request" ''$status $body_bytes_sent "$http_referer" ''"$http_user_agent" "$http_x_forwarded_for"';access_log /var/log/nginx/access.log main;sendfile on;#tcp_nopush on;keepalive_timeout 65;#gzip on;include /etc/nginx/conf.d/*.conf;
}#5、进入ngnix目录 创建容器,设置端口映射、目录映射、自动启动
docker run -id -p 81:80 --name=nginx1.20 --restart=always \
-v $PWD/conf/nginx.conf:/etc/nginx/nginx.conf -v $PWD/logs:/var/log/nginx -v $PWD/html:/usr/share/nginx/html \
nginx:1.20#6、在html目录下新建index.html,写入文字
#7、访问 http://192.168.200.161 进行测试
1、nginx的配置文件(conf/nginx.conf)整体上分为三部分: 全局块、events块、http块。1)、全局块:配置和nginx运行相关的全局配置2)、events块:配置和网络连接相关的配置3)、http块:配置代理、缓存、日志记录、虚拟主机等配置http块中可以包含多个server块每个server块可以配置多个location块。
2、部署静态资源1)、Nginx可以作为静态web服务器来部署静态资源。这里所说的静态资源是指在服务端真实存在,并且能够直接展示的一些文件,比如常见的html页面、css文件、js文件、图片、视频等资源。2)、相对于Tomcat,Nginx处理静态资源的能力更加高效,所以在生产环境下,一般都会将静态资源部署到Nginx中。3)、静态资源部署到Nginx非常简单,只需要将文件复制到Nginx安装目录下的html目录中即可。server {listen 80; #监听端口 server_name localhost; #服务器名称location / { #匹配客户端请求urlroot html; #指定静态资源根目录index index.html; #指定默认首页}}4)、示例一:在 /usr/local/nginx/html中新建文件hello.html,写入代码,访问: http://192.168.200.161/hello.html 5)、示例二:在配置文件http/server 块中修改如下配置location / { #匹配客户端请求urlroot html; #指定静态资源根目录index hello.html; #指定默认首页}重新加载:nginx -s reload访问: http://192.168.200.161
3、反向代理1)、window上用IDEA将项目project_demo打包两次,端口分别为8888、99992)、上传至/root/app目录3)、启动nohup java -jar hello-project1.jar &>demo1.log &nohup java -jar hello-project2.jar &>demo2.log &测试访问:http://192.168.200.161:8888/hellohttp://192.168.200.161:9999/hello4)、nginx.conf并增加如下配置: #upstream指令可以定义一组服务器upstream targetserver{ server 192.168.200.161:8888;server 192.168.200.161:9999;}server {listen 8000;server_name localhost;location / {proxy_pass http://targetserver;}} server {listen 82;server_name localhost;location / {proxy_pass http://192.168.200.161:8000;}}测试:http://192.168.200.161:8000/hello测试:http://192.168.200.161:82/hello5)、关于负载均衡配置1、轮询默认方式每个请求,按时间顺序逐一分配到不同的后端应用服务器节点,如果后端服务出现故障,nginx能够自动剔除该节点2、weight:权重方式,根据权重分发请求,权重大的分配到请求的概率大,权重(weight)默认值为1,权重越高,被分配的请求数量越多#upstream指令可以定义一组服务器upstream targetserver{ server 192.168.200.201:8080 weight=2;server 192.168.200.201:8081 weight=1;}3、ip_hash:依据ip分配方式,根据客户端请求的IP地址计算hash值,根据hash值来分发请求, 同一个IP发起的请求, 会发转发到同一个服务器上upstream targetserver{ ip_hash;server 192.168.200.201:8080;server 192.168.200.201:8081;}4、url_hash:依据url分配方式,根据客户端请求url的hash值,来分发请求, 同一个url请求, 会发转发到同一个服务器上5、least_conn:依据最少连接方式,哪个服务器当前处理的连接少, 请求优先转发到这台服务器6、fair:依据响应时间方式,优先把请求分发给处理请求时间短的服务器
1、开发项目
2、项目打包 mvn package
3、获取target目录下打好的包,如:demo-1.0-SNAPSHOT.jar
4、上传至linux指定目录:/root/app
5、运行:java -jar demo-1.0-SNAPSHOT.jar也可以后台运行,并指定输出日志文件名,默认输出到nohup.lognohup java -jar demo-1.0-SNAPSHOT.jar &>demo.log &
6、访问 http://192.168.136.162:8080/demo
1、安装maven、git
2、从git将代码clone指定位置:/root/appgit clone http://git......
3、将写好的shell脚本上传至linux:/root/app
4、运行shell脚本sh project_demo_startup.sh
echo =================================
echo 自动化部署脚本启动
echo =================================echo 停止原来运行中的工程
APP_NAME=demotpid=`ps -ef|grep $APP_NAME|grep -v grep|grep -v kill|awk '{print $2}'`
ARR=($tpid)
tpid=${ARR[0]}
echo tpid=$tpidif [ ${tpid} ]; thenecho 'Stop Process...'kill -15 $tpid
fi
sleep 2
tpid=`ps -ef|grep $APP_NAME|grep -v grep|grep -v kill|awk '{print $2}'`if [ ${tpid} ]; thenecho 'Kill Process!'kill -9 $tpid
elseecho 'Stop Success!'
fiecho 准备从Git仓库拉取最新代码
cd /root/install/app/project_demoecho 开始从Git仓库拉取最新代码
git pull
echo 代码拉取完成echo 开始打包
output=`mvn clean package -Dmaven.test.skip=true`cd targetecho 启动项目
nohup java -jar demo.jar &> ../demo.log &
echo 项目启动完成
1、输入以下这句命令,询问全部回车ssh-keygen -t rsa -C "邮箱"如果忘了邮箱和用户名,可以在windows用如下命令查看当初设置的邮箱和密码git config user.namegit config user.emailssh-keygen -t rsa -C "liuweidong0008@163.com"Generating public/private rsa key pair.Enter file in which to save the key (/root/.ssh/id_rsa): Created directory '/root/.ssh'.Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /root/.ssh/id_rsa.Your public key has been saved in /root/.ssh/id_rsa.pub.The key fingerprint is:SHA256:tXWmY7AFmuHGWg0FMynR4RZB8sHdAimRSBieRaCfYLs root@localhost.localdomainThe key's randomart image is:+---[RSA 2048]----+| o*+.+B&Xo. || o.o. +*=@o.. ||o.o o@ +.o o ||.o.. = . * + || .o . S o + || . . . || E || || |+----[SHA256]-----+
2、 进入公钥文件cat /root/.ssh/id_rsa.pub
3、复制公钥
4、在git平台->个人头像设置->添加公钥
5、第一次可能还是需要用户名密码,之后不再需要(可能还需要重启机器)
下载地址:https://download.redis.io/releases/ 、https://redis.io/download
1、下载并上传至linux:/root/install/redis
2、解压: tar -zxvf redis-4.0.0.tar.gz
3. 安装Redis的依赖环境gcc,命令:yum install gcc-c++
4. 进入/usr/local/redis-4.0.0,进行编译,命令:make
5. 进入redis的src目录进行安装,命令:make install
6、运行redis server服务:redis-server,但是存在占用终端的情况
7、通过修改配置文件,设置Redis服务后台运行、设置密码、设置允许客户端远程连接Redis服务- Linux系统中Redis配置文件:REDIS_HOME/redis ./redis-server ./redis.conf- Windows系统中Redis配置文件:REDIS_HOME/redis.windows ./redis-server ./redis.conf1)、设置Redis服务后台运行:daemonize = yes2)、关闭保护模式:protected-mode no2)、设置Redis服务密码:requirepass 你的密码3)、设置允许客户端远程连接Redis服务,Redis服务默认只能客户端本地连接,不允许客户端远程连接。如果指定了bind,则说明只允许来自指定网卡的Redis请求。如果没有指定,就说明可以接受来自任意一个网卡的Redis请求。将配置文件中的 bind 127.0.0.1 配置项注释掉,或者绑定上允许访问的ip: bind ip1 ip2 ip34)、之后启动server需要指定配置文件:redis-server ../redis.conf 注意:Redis配置文件中的配置项前面不能有空格,需要顶格写5)、任意目录redis-cli进行客户端连接
下载地址:https://github.com/tporadowski/redis/releases、https://github.com/MicrosoftArchive/redis/tags
1、下载并解压
2、修改配置文件 redis.windows-service.confrequirepass 你的密码bind ip1 ip2 ip3
3、设置开机自启redis-server --service-install redis.windows-service.conf --loglevel verboseredis-server --service-uninstall
4、配置redis环境变量
5、任意目录redis-cli进行客户端连接
#1、搜索redis镜像
docker search redis#2、拉取redis镜像
docker pull redis:7.0#3、创建容器,设置端口映射、目录映射、自动启动
docker run -id --name=redis7.0 --restart=always -p 6380:6379 redis:7.0#4、使用外部机器连接redis
redis-cli -h 192.168.200.161 -p 6379
官网地址:https://www.elastic.co/cn/elasticsearch/
官网下载地址:https://www.elastic.co/cn/downloads/past-releases#elasticsearch
1、上传安装包
alt+p # 打开sftp窗口
# 上传es安装包
put e:/software/elasticsearch-7.4.0-linux-x86_64.tar.gz
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4zpHCGST-1679069175423)(.\assets\1574607430115.png)]
2、解压
# 将elasticsearch-7.4.0-linux-x86_64.tar.gz解压到opt文件夹下. -C 大写tar -zxvf elasticsearch-7.4.0-linux-x86_64.tar.gz -C /opt
3、创建普通用户
因为安全问题,Elasticsearch 不允许root用户直接运行,所以要创建新用户,在root用户中创建新用户,执行如下命令:
groupadd elsearch
useradd itheima -g elsearch # 新增itheima用户,并且设置所属组
passwd itheima # 为itheima用户设置密码
或
groupadd elsearch
useradd itheima -g elsearch -p itheima #一步设置用户组和密码
4、为新用户授权,如下图
chown -R itheima:itheima /opt/elasticsearch-7.4.0 #文件夹所有者
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sE0VTDmN-1679069175424)(.\assets\1574607864042.png)]
将 /opt/elasticsearch-7.4.0文件夹授权给itheima用户,由上图可见,我们的文件夹权限赋给了itheima
5、修改elasticsearch.yml文件
vim /opt/elasticsearch-7.4.0/config/elasticsearch.yml
# ======================== Elasticsearch Configuration =========================
cluster.name: my-application
node.name: node-1
network.host: 0.0.0.0
http.port: 9200
cluster.initial_master_nodes: ["node-1"]
cluster.name:配置elasticsearch的集群名称,默认是elasticsearch。建议修改成一个有意义的名称
node.name:节点名,elasticsearch会默认随机指定一个名字,建议指定一个有意义的名称,方便管理
network.host:设置为0.0.0.0允许外网访问
http.port:Elasticsearch的http访问端口
cluster.initial_master_nodes:初始化新的集群时需要此配置来选举master
6、修改配置文件
新创建的itheima用户最大可创建文件数太小,最大虚拟内存太小,切换到root用户,编辑下列配置文件, 添加
类似如下内容
# 切换到root用户
su root #1. ===最大可创建文件数太小=======
vim /etc/security/limits.conf
# 在文件末尾中增加下面内容
itheima soft nofile 65536
itheima hard nofile 65536
# =====
vim /etc/security/limits.d/20-nproc.conf
# 在文件末尾中增加下面内容
itheima soft nofile 65536
itheima hard nofile 65536
* hard nproc 4096
# 注:* 代表Linux所有用户名称 #2. ===最大虚拟内存太小=======
vim /etc/sysctl.conf
# 在文件中增加下面内容
vm.max_map_count=655360
# 重新加载,输入下面命令:
sysctl -p
7、启动elasticsearch
su itheima # 切换到itheima用户启动
cd /opt/elasticsearch-7.4.0/bin
./elasticsearch #启动
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cLu7iqOh-1679069175425)(.\assets\1574609255103.png)]
通过上图我们可以看到elasticsearch已经成功启动
8、访问elasticsearch
在访问elasticsearch前,请确保防火墙是关闭的,执行命令:
#暂时关闭防火墙
systemctl stop firewalld
# 或者
#永久设置防火墙状态
systemctl enable firewalld.service #打开防火墙永久性生效,重启后不会复原
systemctl disable firewalld.service #关闭防火墙,永久性生效,重启后不会复原
浏览器输入http://192.168.149.135:9200/,如下图
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3uRZh5IU-1679069175425)(.\assets\1574609539550.png)]
此时elasticsearch已成功启动:
重点几个关注下即可:
number" : "7.4.0" 表示elasticsearch版本
lucene_version" : "8.2.0" 表示lucene版本
name : 默认启动的时候指定了 ES 实例名称
cluster_name : 默认名为 elasticsearch
1). 解压缩:elasticsearch-7.14.0-windows-x86_64.zip,放到软件安装目录
2). 编辑 config/elasticsearch.ymlcluster.name: my-applicationnode.name: node-1network.host: 0.0.0.0http.port: 9200cluster.initial_master_nodes: ["node-1"]
3). 启动&访问:双击:bin/elasticsearch.bat访问:http://localhost:9200
4). 查看elastic是否启动ps -ef|grep elastic
1、需要让es和kibana容器互联。这里先创建一个网络: docker network create es-net
2、加载镜像:docker load -i es.tar,也可以自行pull
3、创建容器:docker run -d --name es \-e "ES_JAVA_OPTS=-Xms512m -Xmx512m" \-e "discovery.type=single-node" \ #监听的地址,可以外网访问-v es-data:/usr/share/elasticsearch/data \-v es-plugins:/usr/share/elasticsearch/plugins \--privileged \--network es-net \--restart=always-p 9200:9200 \-p 9300:9300 \elasticsearch:7.12.1
4、在浏览器中输入:http://192.168.136.161:9200 即可看到elasticsearch的响应结果:
官网地址:https://www.elastic.co/cn/elasticsearch/
官网下载地址:https://www.elastic.co/cn/downloads/past-releases#kibana 注意:下载es对应版本zip包
1、什么是Kibana
Kibana是一个针对Elasticsearch的开源分析及可视化平台,用来搜索、查看交互存储在Elasticsearch索引中的数据。使用Kibana,可以通过各种图表进行高级数据分析及展示。Kibana让海量数据更容易理解。它操作简单,基于浏览器的用户界面可以快速创建仪表板(dashboard)实时显示Elasticsearch查询动态。
2、上传kibana
put E:\software\kibana-7.4.0-linux-x86_64.tar.gz
3、解压kibana
tar -zxvf kibana-7.4.0-linux-x86_64.tar.gz -C /opt
4、修改kibana配置
vim /opt/kibana-7.4.0-linux-x86_64/config/kibana.yml
server.port: 5601
server.host: "0.0.0.0"
server.name: "kibana-itcast"
elasticsearch.hosts: ["http://127.0.0.1:9200"]
elasticsearch.requestTimeout: 99999
server.port:http访问端口
server.host:ip地址,0.0.0.0表示可远程访问
server.name:kibana服务名
elasticsearch.hosts:elasticsearch地址
elasticsearch.requestTimeout:请求elasticsearch超时时间,默认为30000,此处可根据情况设置
**5、启动kibana**
由于kibana不建议使用root用户启动,如果用root启动,需要加–allow-root参数
# 切换到kibana的bin目录
cd /opt/kibana-7.4.0-linux-x86_64/bin
# 启动
./kibana --allow-root
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rW3SD85p-1679069175426)(.\assets\1574610511959.png)]
6、访问kibana
浏览器输入http://192.168.149.135:5601/,如下图:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7HGjRwE2-1679069175427)(.\assets\1574610669598.png)]
看到这个界面,说明Kibanan已成功安装。
`Discover`:可视化查询分析器`Visualize`:统计分析图表`Dashboard`:自定义主面板(添加图表)`Timelion`:Timelion是一个kibana时间序列展示组件(暂时不用)`Dev Tools`:Console控制台(同CURL/POSTER,操作ES代码工具,代码提示,很方便)`Management`:管理索引库(index)、已保存的搜索和可视化结果(save objects)、设置 kibana 服务器属性。
1. 解压缩:kibana-7.14.0-windows-x86_64.zip,放到软件安装目录
2. 编辑 config/kibana.ymlserver.port: 5601server.host: "0.0.0.0"server.name: "kibana-itcast"elasticsearch.hosts: ["http://127.0.0.1:9200"]elasticsearch.requestTimeout: 99999
3. 启动&访问:双击:bin/kibana.bat访问:http://localhost:5601
4、后台启动方式nohup ./kibana --allow-root&
1、导入镜像:docker load -i kibana.tar,或者自行pull
2、运行容器docker run -d \--name kibana \-e ELASTICSEARCH_HOSTS=http://es:9200 \--network=es-net \--restart=always-p 5601:5601 \kibana:7.12.1
3、kibana一般启动比较慢,查看日志:docker logs -f kibana
4、在浏览器输入地址访问:http://192.168.136.161:5601,即可看到结果
head插件是ES的一个可视化管理插件,用来监视ES的状态,并通过head客户端和ES服务进行交互,比如创建映射、创建索引等。在登陆和访问head插件地址和ElasticSearch前需要事先在服务器上安装和配置好ElasticSearch以及head插件。安装完后,默认head插件的web端口为9100,ElasticSearch服务的端口为9200,使用浏览器访问head地址,如[http://IP地址:9100/](http://10.82.25.183:9100/),推荐使用Chrome浏览器,head插件对Chrome浏览器兼容更佳。进入head页面后将ElasticSearch连接输入框中填写正确的ElasticSearch服务地址,就可以监控ElasticSearch运行信息
1、什么是Node
简单的说 Node.js 就是运行在服务端的 JavaScript。Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。Node.js 使用了一个事件驱动、非阻塞式 I/O 的模型,使其轻量又高效。Node.js 的包管理器 npm,是全球最大的开源库生态系统。
2、下载Node
由于elasticsearch-head插件是由nodejs语言编写,所以安装elasticsearch-head前需要先安装nodejs。
首先,执行以下命令安装nodejs和grunt
打开虚拟机,执行wget命令下载Node,如下图:
wget https://nodejs.org/dist/v10.15.2/node-v10.15.2-linux-x64.tar.xz
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6vGeXVvE-1679069175428)(.\assets\1571160484991.png)]
3)解压Node包
tar xvf node-v10.15.2-linux-x64.tar.xz
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DgbvO7MU-1679069175429)(.\assets\1571160606899.png)]
4)设置软连接
解压文件的 bin 目录底下包含了 node、npm 等命令,我们可以使用 ln 命令来设置软连接:
ln -s bin/npm /usr/local/bin/ln -s bin/node /usr/local/bin/
在/etc/profile中配置好path环境变量
vi ~/.bash_profile
export NODE_HOME=/opt/nodejs/node-v10.15.2-linux-x64
export PATH=$PATH:$NODE_HOME/bin
保存退出,使文件生效
source ~/.bash_profile
查看node安装版本,执行 node -v 验证安装如下图:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0xNoeb4B-1679069175429)(.\assets\1571160954958.png)]
安装grunt(运行在Node.js上面的任务管理器(task runner)),为了获得Grunt的更多产品特性,需要全局安装Grunt’s 命令行接口(CLI),使用npm进行安装,如下:
npm install -g grunt-cli
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5O72T9Tb-1679069175430)(.\assets\1571161497433.png)]
查看grunt版本
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GYE138fZ-1679069175430)(.\assets\1571161600969.png)]
输出grunt版本信息,表示安装成功。
将ElasticSearch Head-0.1.5_0.zip 解压且在浏览器以扩展程序的方式进行安装
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JJebEr6d-1679069175430)(.\assets\image-20210815135605622.png)]
1、执行命令安装git
git yum install git -y
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lZIXJNde-1679069175431)(.\assets\1571161083235.png)]
2、切换到/opt目录下,执行下面的克隆命令
git clone git://github.com/mobz/elasticsearch-head.git
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5xrHL9dn-1679069175432)(.\assets\1571193736229.png)]
3、进入到elasticsearch-head目录
cd elasticsearch-head
4、运行
在运行之前我们需要修改下elasticsearch.yml,因为ES默认不开启跨域访问,需要添加以下配置:
#开启cors跨域访问支持,默认为false
http.cors.enabled: true
#跨域访问允许的域名地址,(允许所有域名)以上使用正则
http.cors.allow-origin: "*"
然后开始执行运行命令:
npm run start
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wBAj17cZ-1679069175432)(.\assets\1571163304853.png)]
5、访问head
浏览器输入ip:port:9100,如下图
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hEjP0Nc6-1679069175433)(.\assets\1571163462191.png)]
看到这个界面说明我们的head插件成功安装并且成功连接Elasticsearch。
IK分词器下载地址:https://github.com/medcl/elasticsearch-analysis-ik/releases 注意:下载es对应版本zip包
Elasticsearch 要使用 ik,就要先构建 ik 的 jar包,这里要用到 maven 包管理工具,而 maven 需要java 环境
Elasticsearch 内置了jdk, 所以可以将JAVA_HOME设置为Elasticsearch 内置的jdk
1)设置JAVA_HOME
vim /etc/profile
# 在profile文件末尾添加
#java environment
export JAVA_HOME=/opt/elasticsearch-7.4.0/jdk
export PATH=$PATH:${JAVA_HOME}/bin
# 保存退出后,重新加载profile
source /etc/profile
2)下载maven安装包
wget http://mirror.cc.columbia.edu/pub/software/apache/maven/maven-3/3.1.1/binaries/apache-maven-3.1.1-bin.tar.gz
3)解压maven安装包
tar xzf apache-maven-3.1.1-bin.tar.gz
4)设置软连接
ln -s apache-maven-3.1.1 maven
5)设置path
打开文件
vim /etc/profile.d/maven.sh
将下面的内容复制到文件,保存
export MAVEN_HOME=/opt/maven
export PATH=${MAVEN_HOME}/bin:${PATH}
设置好Maven的路径之后,需要运行下面的命令使其生效
source /etc/profile.d/maven.sh
6)验证maven是否安装成功
mvn -v
1)下载IK
wget https://github.com/medcl/elasticsearch-analysis-ik/archive/v7.4.0.zip
2)解压IK
由于这里是zip包不是gz包,所以我们需要使用unzip命令进行解压,如果本机环境没有安装unzip,请执行:
yum install zip yum install unzip
解压IK
unzip v7.4.0.zip
3)编译jar包
# 切换到 elasticsearch-analysis-ik-7.4.0目录cd elasticsearch-analysis-ik-7.4.0/
#打包
mvn package
4) jar包移动
package执行完毕后会在当前目录下生成target/releases目录,将其中的elasticsearch-analysis-ik-7.4.0.zip。拷贝到elasticsearch目录下的新建的目录plugins/analysis-ik,并解压
#切换目录
cd /opt/elasticsearch-7.4.0/plugins
/#新建目录
mkdir analysis-ikcd analysis-ik
#执行拷贝
cp -R /opt/elasticsearch-analysis-ik-7.4.0/target/releases/elasticsearch-analysis-ik-7.4.0.zip /opt/elasticsearch-7.4.0/plugins/analysis-ik
#执行解压
unzip /opt/elasticsearch-7.4.0/plugins/analysis-ik/elasticsearch-analysis-ik-7.4.0.zip以下为导师目录操作命令
#切换目录
cd /root/sys-centos/elasticsearch/elasticsearch-7.4.0/plugins
/#新建目录
mkdir analysis-ikcd analysis-ik
#执行拷贝
cp -R /root/sys-centos/elasticsearch/elasticsearch-analysis-ik-7.4.0/target/releases/elasticsearch-analysis-ik-7.4.0.zip /root/sys-centos/elasticsearch/elasticsearch-7.4.0/plugins/analysis-ik
#执行解压
unzip /root/sys-centos/elasticsearch/elasticsearch-7.4.0/plugins/analysis-ik/elasticsearch-analysis-ik-7.4.0.zip
5)拷贝辞典
将elasticsearch-analysis-ik-7.4.0目录下的config目录中的所有文件 拷贝到elasticsearch的config目录
cp -R /opt/elasticsearch-analysis-ik-7.4.0/config/* /opt/elasticsearch-7.4.0/config以下为导师目录操作命令
cp -R /root/sys-centos/elasticsearch/elasticsearch-analysis-ik-7.4.0/config/* /root/sys-centos/elasticsearch/elasticsearch-7.4.0/config
记得一定要重启Elasticsearch!!!
6)、windows安装
直接解压ik分词器zip包,重命名为ik,然后放入es的plugin目录,最后重启es即可。
7)、docker安装
根据 docker volume inspect es-plugins 命令找到当初创建容器挂载的插件数据卷所在位置,把加压好的ik插件文件夹上传至该目录,最后重启es即可
IK分词器有两种分词模式:ik_max_word和ik_smart模式。
1、ik_max_word
会将文本做最细粒度的拆分,比如会将“乒乓球明年总冠军”拆分为“乒乓球、乒乓、球、明年、总冠军、冠军。
#方式一ik_max_word
GET /_analyze
{ "analyzer": "ik_max_word","text": "乒乓球明年总冠军"
}
ik_max_word分词器执行如下:
{"tokens": [{"token": "乒乓球","start_offset": 0,"end_offset": 3,"type": "CN_WORD","position": 0}, {"token": "乒乓","start_offset": 0,"end_offset": 2,"type": "CN_WORD","position": 1}, {"token": "球","start_offset": 2,"end_offset": 3,"type": "CN_CHAR","position": 2}, {"token": "明年","start_offset": 3,"end_offset": 5,"type": "CN_WORD","position": 3}, {"token": "总冠军","start_offset": 5,"end_offset": 8,"type": "CN_WORD","position": 4}, {"token": "冠军","start_offset": 6,"end_offset": 8,"type": "CN_WORD","position": 5}]
}
2、ik_smart
会做最粗粒度的拆分,比如会将“乒乓球明年总冠军”拆分为乒乓球、明年、总冠军。
#方式二ik_smart GET /_analyze
{ "analyzer": "ik_smart", "text": "乒乓球明年总冠军"
}
ik_smart分词器执行如下:
{"tokens": [{"token": "乒乓球","start_offset": 0,"end_offset": 3,"type": "CN_WORD","position": 0}, {"token": "明年","start_offset": 3,"end_offset": 5,"type": "CN_WORD","position": 1}, {"token": "总冠军","start_offset": 5,"end_offset": 8,"type": "CN_WORD","position": 2}]
}
由此可见 使用ik_smart可以将文本"text": "乒乓球明年总冠军"分成了【乒乓球】【明年】【总冠军】
这样看的话,这样的分词效果达到了我们的要求。
在IK分词器config目录,有个文件叫:IKAnalyzer.cfg.xml
IK Analyzer 扩展配置 ext.dic stopword.dic
1、词库拓展在ext.dit文件中添加需要拓展的词汇,注意当前文件的编码必须是 UTF-8 格式,严禁使用Windows记事本编辑
2、词库停用在stopword.dit文件中添加需要拓展的词汇,注意当前文件的编码必须是 UTF-8 格式,严禁使用Windows记事本编辑
3、重启ES让操作生效
下载地址:https://github.com/medcl/elasticsearch-analysis-pinyin/releases 注意:下载es对应版本zip包
1、Docker官网:https://www.docker.com
2、Docker 分为 CE 和 EE 两大版本。CE 即社区版(免费,支持周期 7 个月),EE 即企业版,强调安全,付费使用, 支持周期 24 个月。
3、Docker CE 分为 `stable` `test` 和 `nightly` 三个更新频道。
4、官方网站上有各种环境下的 [安装指南](https://docs.docker.com/install/),这里主要介绍 Docker CE 在 CentOS上的安装。
5、Docker CE 支持 64 位版本 CentOS 7,并且要求内核版本不低于 3.10, CentOS 7 满足最低内核的要求,所以我 们在CentOS 7安装Docker
# 如果之前安装过旧版本的Docker,可以使用下面命令卸载:
yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-selinux \docker-engine-selinux \docker-engine \docker-ce
# 1、yum 包更新到最新
yum -y update
# 2、安装需要的软件包,yum-utils提供yum-config-manager功能,另外两个是devicemapper驱动依赖的
yum install -y yum-utils device-mapper-persistent-data lvm2 --skip-broken
# 3、 设置yum源
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
或
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
sed -i 's/download.docker.com/mirrors.aliyun.com\/docker-ce/g' /etc/yum.repos.d/docker-ce.repo
# 4、 安装docker,出现输入的界面都按 y
yum makecache fast
yum install -y docker-ce
# 5、 查看docker版本,验证是否验证成功
docker -v
默认情况下,拉取镜像时将会从docker hub(https://hub.docker.com/)上下载 ,而国内从 DockerHub 拉取镜像有时会遇到困难,此时可以配置镜像加速器。Docker 官方和国内很多云服务商都提供了国内加速器服务。由于阿里云镜像加速器为用户特有,速度快且稳定,一般会用阿里云的镜像加速器,使用步骤:
注册阿里云账号->工作台->容器镜像服务->镜像工具->镜像加速器(yz1nevhk)sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{"registry-mirrors": ["https://yz1nevhk.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker#验证:
方式一:cat /etc/docker/daemon.json
方式二:docker info
1、镜像操作0)、搜索:docker search 镜像名称1)、拉取:docker pull2)、推送:docker push3)、查看:docker images4)、查看所有镜像ID:docker images -q5)、删除:docker rmi 镜像名称6)、删除所有:docker rmi `docker images -q`7)、制作镜像:docker build . 8)、导出镜像:docker save -o 镜像名称.tar 镜像名称9)、加载镜像:docker load -i 镜像名称.tar10)、容器转为镜像:docker commit 容器名称 镜像名称2、容器操作1)、查看所有:docker ps -a2)、查看正在运行:docker ps3)、删除:docker rm 容器名称4)、强制删除:docker rm -f 容器名称5)、创建容器:docker create -d --name=容器名称 -p 宿主机端口:容器内端口 镜像名称6)、创建并运行容器:docker run -d --name=容器名称 -p 宿主机端口:容器内端口 镜像名称7)、启动容器:docker start 容器名称8)、停止容器:docker stop 容器名称9)、重启容器:docker restart 容器名称10)、暂停容器:docker pause 容器名称12)、恢复容器:docker unpause 容器名称13)、进入容器:docker exec -it 容器名称 /bin/bash14)、查看容器信息:docker inspect 容器名称或者容器id15)、创建容器相关设置1)、自启动: --restart=always2)、挂载数据卷: -v es-data:/usr/share/elasticsearch/data3)、创建网络: docker network create es-net4)、加入网络:--network es-net5)、端口映射: -p 宿主机端口:容器内端口16)、修改容器设置语法docker update 相关设置 容器ID如:修改容器不再自启动:docker update --restart=no 容器ID 3、数据卷操作1)、创建数据卷:docker volume create 数据卷名称 (位于/var/lib/docker/volume目录)2)、查看单个数据卷详情:docker volume inspect 数据卷名称3)、查看数据卷列表:docker volume ls4)、删除数据卷:docker volume rm 数据卷名称5)、删除未使用的数据卷:docker volume prune6)、创建容器时挂载数据卷1)、挂载数据卷(会自动创建数据卷):docker run -v 数据卷名称:容器内目录路径2)、挂载指定目录(要自己创建):docker run -v 目录绝对路径:容器内目录路径
1、Dockerfile的本质是一个文件,通过指令描述镜像的构建过程
2、Dockerfile的第一行必须是FROM,从一个基础镜像来构建
3、基础镜像可以是基本操作系统,如Ubuntu。也可以是其他人制作好的镜像,例如:java:8-alpine
构建自定义的镜像时,并不需要一个个文件去拷贝,打包。
我们只需要告诉Docker,我们的镜像的组成,需要哪些BaseImage、需要拷贝什么文件、需要安装什么依赖、启动脚本是什么,将来Docker会帮助我们构建镜像。
而描述上述信息的文件就是Dockerfile文件。
Dockerfile就是一个文本文件,其中包含一个个的指令(Instruction),用指令来说明要执行什么操作来构建镜像。每一个指令都会形成一层Layer。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oWNJdslW-1679069175433)(.\assets\image-20210731180321133.png)]
更新详细语法说明,参考官网文档: https://docs.docker.com/engine/reference/builder
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AEEmb3Zf-1679069175433)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20220612143055337.png)]
1、dockerfile自定义java镜像:1、新建一个空文件夹docker-demo2、拷贝通过idea打包好的docker-demo.jar文件到docker-demo这个目录3、拷贝jdk8.tar.gz文件到docker-demo这个目录4、拷贝Dockerfile到docker-demo这个目录5、运行docker构建镜像命令: docker build -t javaweb:1.0 .(点表示当前目录的dockerfile文件)docker build -f ./centos_dockerfile -t itheima_centos:1 .6、最后访问:http://虚拟机ip:8090/hello/count
一、介绍
1、Docker Compose可以基于Compose文件帮我们快速的部署分布式应用,而无需手动一个个创建和运行容器!相当于批量的docker run
2、首先Compose文件是一个文本文件,通过指令定义集群中的每个容器如何运行。格式如下:version: "3.8"services:# 典型定义容器运行方式一:基于已有镜像构建容器mysql:image: mysql:5.7.25environment:MYSQL_ROOT_PASSWORD: 123 volumes:- "/tmp/mysql/data:/var/lib/mysql"- "/tmp/mysql/conf/hmy.cnf:/etc/mysql/conf.d/hmy.cnf"# 典型定义容器运行方式二:基于dockerfile临时构建镜像,然后起容器web:build: .ports:- "8090:8090"上面的Compose文件就描述一个项目,其中包含两个容器:- mysql:一个基于`mysql:5.7.25`镜像构建的容器,并且挂载了两个目录- web:一个基于`docker build`临时构建的镜像容器,映射端口时8090
3、定义好docker-compose文件后,只需要在该文件的当前目录运行命令即可完成应用的快速部署:docker-compose up -d
4、DockerCompose的详细语法参考官网:https://docs.docker.com/compose/compose-file/
5、可以将DockerCompose文件看做是将多个docker run命令写到一个文件,只是语法稍有差异。
二、安装
1、方式一:linux通过命令下载:# 安装curl -L https://github.com/docker/compose/releases/download/1.23.1/docker-compose-`uname-s`-`uname -m` > /usr/local/bin/docker-compose
2、方式二:直接将docker-compose文件上传至linux目录/usr/local/bin/
3、修改docker-compose文件权限,添加执行权限chmod +x /usr/local/bin/docker-compose
4、下载Base自动补全命令:# 补全命令curl -L https://raw.githubusercontent.com/docker/compose/1.29.1/contrib/completion/bash/docker-compose > /etc/bash_completion.d/docker-compose如果下载无反应或者报错执行(原因为无法解析该域名,可以添加域名解析映射):echo "199.232.68.133 raw.githubusercontent.com" >> /etc/hosts
1、将cloud-demo目录上传至linux,目录结构:cloud-dmogateway app.jar : gateway微服务打包后形成的jarDockerfile : gateway微服务的dokerfileorder-service app.jar : order-service微服务打包后形成的jarDockerfile : order-service微服务的dokerfileuser-service app.jar : user-service微服务打包后形成的jarDockerfile : user-service微服务的dokerfilemysql : 用来构建mysql容器时进行数据卷挂载conf : mysql的配置文件data : mysql数据库数据docker-compose.yml :docker-compose文件其中微服务配置文件中的连接信息可以用dockercmpose文件中的容器名2、docker-compose.yml说明version: "3.2"services:#容器名nacos:image: nacos/nacos-serverenvironment:MODE: standaloneports:- "8848:8848"mysql:image: mysql:5.7.25environment:MYSQL_ROOT_PASSWORD: 123volumes:- "$PWD/mysql/data:/var/lib/mysql"- "$PWD/mysql/conf:/etc/mysql/conf.d/"userservice:build: ./user-serviceorderservice:build: ./order-servicegateway:build: ./gatewayports:- "10010:10010"3、在docker-compose.yml所在目录执行命令docker-compose up -d
4、查看各个容器运行情况docker-compose logs -f 容器名
5、注意:由于nacos启动速度较慢,三个微服务启动的时候,nacos尚未启动,所以在nacos启动完成后,三个微服务还需要进行重启docker-compose restart gateway userservice orderservice
6、启动没有问题访问网关(网关端口:10010)http://192.168.200.161:10010/order/101?authorization=admin
搭建镜像仓库可以基于Docker官方提供的DockerRegistry来实现。
官网地址:https://hub.docker.com/_/registry
1、 简化版镜像仓库Docker官方的Docker Registry是一个基础版本的Docker镜像仓库,具备仓库管理的完整功能,但是没有图形化界面,搭建方式比较简单,命令如下:1)、拉取镜像: docker pull registry2)、启动私有仓库容器 docker run -d \--restart=always \--name registry \-p 5000:5000 \-v registry-data:/var/lib/registry \registry命令中挂载了一个数据卷registry-data到容器内的/var/lib/registry 目录,这是私有镜像库存放数据的目录。访问http://YourIp:5000/v2/_catalog 可以查看当前私有镜像服务中包含的镜像2、 带有图形化界面版本使用DockerCompose部署带有图象界面的DockerRegistry,命令如下:version: '3.0'services:registry:image: registryvolumes:- ./registry-data:/var/lib/registryui:image: joxit/docker-registry-ui:staticports:- 8000:80environment:- REGISTRY_TITLE=你自己的私有仓库- REGISTRY_URL=http://registry:5000depends_on:- registry3、配置Docker信任地址此步骤用于让 docker 信任私有仓库地址,私服采用的是http协议,默认不被Docker信任,所以需要做一个配置:# 打开要修改的文件vi /etc/docker/daemon.json# 添加内容:"insecure-registries":["http://192.168.200.161:8000"]# 重加载systemctl daemon-reload# 重启dockersystemctl restart docker# 启动镜像容器docker-compose start registry ui4、推送、拉取镜像推送镜像到私有镜像服务必须先tag,步骤如下:1)、重新tag本地镜像,名称前缀为私有仓库的地址 : 192.168.200.161:8000/docker tag redis:7.0 192.168.200.161:8000/redis:1.02)、推送镜像docker push 192.168.200.161:8000/redis:1.0 3)、拉取镜像docker pull 192.168.200.161:8000/redis:1.0
1、介绍官网地址: https://www.consul.io Consul 是由 HashiCorp 基于 Go 语言开发的,支持多数据中心,分布式高可用的服务发布和注册服务软件。• 用于实现分布式系统的服务发现与配置。• 使用起来也较为简单。具有天然可移植性(支持Linux、windows和Mac OS X);安装包仅包含一个可执行文件,方便部署 。
2、启动dev模式:不会持久化数据consul agent -devserver模式:持久化数据consul agent -server -ui -bootstrap-expect 1 -data-dir D:\consul\data -node=n1 -bind=127.0.0.1
3、访问控制台localhost:8500
1、介绍Nacos(Dynamic Naming and Configuration Service) 是阿里巴巴2018年7月开源的项目。• 官网:https://nacos.io/• 下载地址: https://github.com/alibaba/nacos/releases• 它专注于服务发现和配置管理领域 致力于帮助您发现、配置和管理微服务。Nacos 支持几乎所有主流类型的“服务”的发现、配置和管理。• 一句话概括就是 Nacos = Spring Cloud注册中心 + Spring Cloud配置中心。
2、启动(standalone模式:单机)startup -m standalone
3、访问控制台localhost:8848/nacos用户名:nacos 密码:nacos
1、Eureka server端为注册中心
2、Eureka client端为服务提供方、服务消费方
Jmeter依赖于JDK,所以必须确保当前计算机上已经安装了JDK,并且配置了环境变量。
可以Apache Jmeter官网下载,地址:http://jmeter.apache.org/download_jmeter.cgi
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-aLUPRWvs-1679069175434)(.\assets\image-20210715193149837.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ikiRbMF0-1679069175434)(.\assets\image-20210715193224094.png)]
因为下载的是zip包,解压缩即可使用,目录结构如下:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XdeWFy5t-1679069175434)(.\assets\image-20210715193334367.png)]
其中的bin目录就是执行的脚本,其中包含启动脚本:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oESwBkHs-1679069175435)(.\assets\image-20210715193414601.png)]
双击即可运行,但是有两点注意:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YNcWK9if-1679069175435)(.\assets\image-20210715193730096.png)]
默认Jmeter的语言是英文,需要设置:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kUNwnwoX-1679069175435)(.\assets\image-20210715193838719.png)]
效果:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ssTl4cHS-1679069175436)(.\assets\image-20210715193914039.png)]
注意:上面的配置只能保证本次运行是中文,如果要永久中文,需要修改Jmeter的配置文件
打开jmeter文件夹,在bin目录中找到 jmeter.properties,添加下面配置:
language=zh_CN
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-483HBVdW-1679069175436)(.\assets\image-20210715194137982.png)]
注意:前面不要出现#,#代表注释,另外这里是下划线,不是中划线
1、在测试计划上点鼠标右键,选择添加 > 线程(用户) > 线程组:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fDmpP0QI-1679069175436)(.\assets\image-20210715194413178.png)]
2、在新增的线程组中,填写线程信息:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-40Ht7xFP-1679069175437)(.\assets\image-20210715195053807.png)]
3、给线程组点鼠标右键,添加http取样器:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vS7RbWoV-1679069175437)(.\assets\image-20210715195144130.png)]
4、编写取样器内容:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3yUdPg6F-1679069175438)(.\assets\image-20210715195410764.png)]
5、添加监听报告:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LRRanSgv-1679069175438)(.\assets\image-20210715195844978.png)]
6、添加监听结果树:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SzU1podO-1679069175438)(.\assets\image-20210715200155537.png)]
7、汇总报告结果:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gvSlsoia-1679069175438)(.\assets\image-20210715200243194.png)]
8、结果树:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0hUheK4H-1679069175439)(.\assets\image-20210715200336526.png)]
官方的安装指南地址为 : https://blog.rabbitmq.com/posts/2015/04/scheduling-messages-with-rabbitmq
下载地址:https://www.rabbitmq.com/download.html
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-p9mMAitb-1679069175439)(.\assets\image-20220321001745164.png)]
下载地址:https://www.erlang.org/downloads
1、下载对应版本的Erlang , 如rabbitmq 3.8.14 对应的erlang最佳版本为 : erlang 23
2、配置环境变量,cmd 下命令:erl 可测试erlang版本
下载地址:https://github.com/rabbitmq/rabbitmq-server/releases/tag/v3.8.14
官方的安装指南地址为:https://blog.rabbitmq.com/posts/2015/04/scheduling-messages-with-rabbitmq
准备工作:
1、删除 C:\Users\Administrator\AppData\Roaming\RabbitMQ 目录;
2、Administrator下的.erlang.cookie拷贝至 C:\Windows\System32\config\systemprofile目录
3、删除注册表:HKEY_LOCAL_MACHINE\SOFTWARE\Ericsson 下的 Erlang
4、rabbitmq-server-3.8.14.exe 双击安装即可
5、安装控制台等插件 cmd下命令:rabbitmq-plugins enable rabbitmq_management
出现以下界面,则开启成功:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kxaJPUP1-1679069175439)(.\assets\image-20220321002859792.png)]
6、访问:localhost:15672 添加自定义用户
7、下载延时插件并放入rabbitmq 的 plugins目录
RabbitMQ有一个官方的插件社区,地址为:https://www.rabbitmq.com/community-plugins.html
其中包含各种各样的插件,包括我们要使用的DelayExchange插件
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Iq0MFU4B-1679069175440)(assets/image-20210713104511055.png)]
如:GitHub页面下载3.8.9版本的插件(对应RabbitMQ的3.8.5以上版本),地址为:
https://github.com/rabbitmq/rabbitmq-delayed-message-exchange/releases/tag/3.8.9。
插件名字:rabbitmq-delayed-message-exchange-3.8.9-0199d11c.ez
安装插件, cmd下命令:rabbitmq-plugins enable rabbitmq_delayed_message_exchange
8、services.msc 检查rabbitmq服务是否正常开启
9、补充:
重装完成后若RabbitMQ service未安装则:通过:rabbitmq-service install 安装service;通过:rabbitmq-service start 启动service通过:rabbitmq-plugins enable rabbitmq_management 启动插件通过:rabbitmq-plugins enable rabbitmq_delayed_message_exchange 开启延时消息插件
如果服务列表没有rabbitmq,则通过:rabbitmq-service.bat install 来注册服务
后台启动rabbitmq-server:rabbitmq-server -detached
linux安装 https://blog.csdn.net/koponbs/article/details/110094811
1、下载镜像 : docker pull rabbitmq:3.8-management
2、或者下载好镜像后,直接load: docker load -i mq.tar
3、执行命令运行MQ容器:docker run \-e RABBITMQ_DEFAULT_USER=itcast \-e RABBITMQ_DEFAULT_PASS=123321 \-v mq-plugins:/plugins \--name mq \--hostname mq \-p 15672:15672 \-p 5672:5672 \-d \rabbitmq:3-management
4、延时插件下载后放置在数据卷下:mq-plugins1)、查看数据卷对应的目录位置:docker volume inspect mq-plugins2)、进入容器内部:docker exec -it mq bash 3)、开启延时插件:rabbitmq-plugins enable rabbitmq_delayed_message_exchange
源码地址:https://gitee.com/xuxueli0323/xxl-job
文档地址:https://www.xuxueli.com/xxl-job/
1、下载项目源码并解压,获取 “调度数据库初始化SQL脚本” 并执行即可。位置:`/xxl-job/doc/db/tables_xxl_job.sql` 共8张表- xxl_job_lock:任务调度锁表;- xxl_job_group:执行器信息表,维护任务执行器信息;- xxl_job_info:调度扩展信息表: 用于保存XXL-JOB调度任务的扩展信息,如任务分组、任务名、机器地址、执行器、执行入参和报警邮件等等;- xxl_job_log:调度日志表: 用于保存XXL-JOB任务调度的历史信息,如调度结果、执行结果、调度入参、调度机器和执行器等等;- xxl_job_logglue:任务GLUE日志:用于保存GLUE更新历史,用于支持GLUE的版本回溯功能;- xxl_job_registry:执行器注册表,维护在线的执行器和调度中心机器地址信息;- xxl_job_user:系统用户表;
调度中心支持集群部署,集群情况下各节点务必连接同一个mysql实例;
如果mysql做主从,调度中心集群节点务必强制走主库;
2、解压源码,按照maven格式将源码导入IDE, 修改xxl-job-admin的数据库密码
3、启动类启动项目,访问路径:localhost:8080/xxl-job-admin默认登录账号 “admin/123456”
1、创建mysql容器,初始化xxl-job的SQL脚本docker run -p 3306:3306 --name mysql57 \-v /opt/mysql/conf:/etc/mysql \-v /opt/mysql/logs:/var/log/mysql \-v /opt/mysql/data:/var/lib/mysql \-e MYSQL_ROOT_PASSWORD=root \-d mysql:5.7
2、拉取xxl-job镜像:docker pull xuxueli/xxl-job-admin:2.3.0
3、创建容器docker run -e PARAMS="--spring.datasource.url=jdbc:mysql://192.168.200.130:3306/xxl_job?Unicode=true&characterEncoding=UTF-8 \--spring.datasource.username=root \--spring.datasource.password=root" \-p 8888:8080 -v /tmp:/data/applogs \--name xxl-job-admin --restart=always -d xuxueli/xxl-job-admin:2.3.0
Jenkins 是一款流行的开源持续集成(Continuous Integration)工具,广泛用于项目开发,具有自动化构建、测试和部署等功能。官网: http://jenkins-ci.org/。
0、安装JDK (验证:java -version)
1.1、采用YUM方式安装1)、加入jenkins安装源:sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo --no-check-certificatesudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key2)、执行yum命令安装:yum -y install jenkins3)、卸载#1、卸载sudo yum remove jenkins#2、彻底删除残留文件:find / -iname jenkins | xargs -n 1000 rm -rf
1.2、采用RPM安装包方式1)、Jenkins安装包下载地址:https://pkg.jenkins.io/redhat-stable/wget https://pkg.jenkins.io/redhat-stable/jenkins-2.190.1-1.1.noarch.rpm2)、执行安装:rpm -ivh jenkins-2.190.1-1.1.noarch.rpm3)、卸载#1、卸载rpm -e jenkins#2、检查是否卸载成功rpm -ql jenkins#2、彻底删除残留文件:find / -iname jenkins | xargs -n 1000 rm -rf
2、修改配置文件:vi /etc/sysconfig/jenkins
3、修改内容# 修改为对应的目标用户, 这里使用的是root$JENKINS_USER="root"# 服务监听端口JENKINS_PORT="16060"
4、修改目录权限chown -R root:root /var/lib/jenkinschown -R root:root /var/cache/jenkinschown -R root:root /var/log/jenkins5、重启:systemctl restart jenkins
6、创建JAVA环境的软链接:ln -s /root/install/jdk/jdk1.8.0_171/bin /usr/bin/java
7、管理后台初始化设置按照界面提示,去相应目录获取initialAdminPassword填入控制台
8、按默认设置,把建议的插件都安装上(需要大概10分钟,安装失败可重试)
9、安装完成之后, 创建管理员用户(设置jenkins管理员登录用户名lwd、密码lwd、全名、电子邮箱地址)
10、如果systemctl restart jenkins启动不了,可以用如下方式启动:后台启动jenkins并指定端口:nohup jenkins --httpPort=9999 &或:nohup java -jar jenkins.war --httpPort=9999 &停止:1、查找jenkins进程:ps -ef|grep jenkins2、杀死进程 kill -9 xxxx备注:jenkins war包存放目录: /usr/share/java/jenkins.war访问:http://192.168.200.161:9999重启:http://192.168.200.161:9999/restart停止:http://192.168.200.161:9999/exit重载:http://192.168.200.161:9999/reload
11、进入【系统管理】-【插件管理】- 标签页的【可选插件】下载安装 jenkins 插件- Maven Integration: Maven 集成管理插件(3.19)。- Docker: Docker集成插件(1.2.9)。- GitLab: GitLab集成插件(1.5.35)。- Publish Over SSH:远程文件发布插件(1.24)。- SSH: 远程脚本执行插件。 (2.6.1)注意,如果没有安装按钮,需要更改配置在安装插件的高级配置中,修改【升级站点】的链接为:http://updates.jenkins.io/update-center.json保存
12、安装git (验证:git version)
13、安装maven(验证:mvn -v)
14、安装docker(验证:docker -v)
15、进入【系统管理】--> 【全局工具配置】进行全局配置逐个配置JDK、maven、docker、git在机器上的安装目录(name,home)软件的安装目录:可以使用whereis命令查看,比如可以通过`whereis docker`命令查看docker的安装目录