最近在做一些与部署相关的工作,整理了一些用到的linux命令;
端口命令
1、开启防火墙
systemctl start firewalld
关闭防火墙
systemctl stop firewalld
2、开放指定端口
firewall-cmd --zone=public --add-port=8099/tcp --permanent
命令含义:
--zone #作用域
--add-port=1935/tcp #添加端口,格式为:端口/通讯协议
--permanent #永久生效,没有此参数重启后失效
3、重启防火墙
firewall-cmd --reload
4、查看端口号
netstat -ntlp //查看当前所有tcp端口·
netstat -ntulp |grep 1935 //查看所有1935端口使用情况·
ps aux|grep xxx //查找xxx相关的进程
检查Linux系统上FTP服务是否开启:
1.通过查询提供FTP服务的进程是否存在
[root@localhost root]#ps -ef | grep ftp
#并未找到任何包含ftp关键字的进程信息,可判断服务未开启。
2.通过查询是vsftpd服务是否存在
[root@localhost root]#service vsftpd status
#vsftpd是最常见的FTP服务器,发现stopped状态即为关闭。
3.开启Linux上的FTP服务
[root@localhost root]# service vsftpd start
Starting vsftpd for vsftpd: [ OK ]
#再次查看发现已经处于启动状态:
[root@localhost root]# service vsftpd status
vsftpd (pid 4510) is running...
openoffice相关命令:
1. 临时启动:
/opt/openoffice4/program/soffice -headless -accept="socket,host=127.0.0.1,port=8100;urp;" -nofirststartwizard &
2. 永久启动:
nohup /opt/openoffice4/program/soffice -headless -accept="socket,host=127.0.0.1,port=8100;urp;" -nofirststartwizard &
查看是否启动成功:
netstat -lnp|grep 8100
查看openoffice状态:
ps -ef|grep soffice
docker—mysql
docker pull mysql:5.7
--name指定容器名字 -v目录挂载 -p指定端口映射 -e设置mysql参数 -d后台运行
docker run -p 3306:3306 --name mysql \
-v /mydata/mysql/log:/var/log/mysql \
-v /mydata/mysql/data:/var/lib/mysql \
-v /mydata/mysql/conf:/etc/mysql \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql:latest
# 启动所有镜像
docker start $(docker ps -a -q)
# stop停止所有容器
docker stop $(docker ps -a -q)
# remove删除所有容器
docker rm $(docker ps -a -q)
docker中 删除所有的镜像
docker rmi $(docker images | awk '{print $3}' |tail -n +2)
/data/service/
#指定jdk版本启动jar包,并将日志输出到nohup.out文件中
nohup /data/soft/jdk-11/bin/java -jar test.jar &
#查找test.jar的进程号
ps aux|grep test.jar
netstat -anp | grep 8081
查看日志
tail
命令格式 tail [必要参数][选择参数][文件]
-f 循环读取
-v 显示详细的处理信息
-c <数目>显示字节数
-n<行数>显示行数
-q,–quiet,–slient从不输出给出文件名的首部
-s,—sleep-interval=S 与-f合用,表示在每次反复的间隔休眠S秒
tail -n 100 catalina.out 查询日志尾部最后100行的日志;
tail -n +100 catalina.out 查询100行之后的所有日志;
tail -fn 100 catalina.out 循环实时查看最后100行记录(最常用的)
配合着grep用,例如:tail -fn 100 catalina.out | grep – ‘关键字’
如果一次性查询的数据量太大,可以进行翻页查看,
例如:tail -n 6000 catalina.out | more -100 可以进行多屏显示(ctrl +f 或者 空格键可以快捷键)
查看端口占用
#安装lsof
yum -y install lsof
#检测端口占用
lsof -i :端口号
#安装nc
yum -y install nc
#查看对方端口是否开放
nc -vz 对方ip 对方端口
#安装telnet
yum -y install telnet
#查看对方端口是否开放
telnet 对方ip 对方端口
windows ping 端口命令: tcping ip地址 端口号
nginx命令
nginx -s reopen #重启Nginx
nginx -s reload #重新加载Nginx配置文件,然后以优雅的方式重启Nginx
nginx -s stop #强制停止Nginx服务
nginx -s quit #优雅地停止Nginx服务(即处理完所有请求后再停止服务)
nginx -t #检测配置文件是否有语法错误,然后退出
nginx -?,-h #打开帮助信息
nginx -v #显示版本信息并退出
nginx -V #显示版本和配置选项信息,然后退出
nginx -t #检测配置文件是否有语法错误,然后退出
nginx -T #检测配置文件是否有语法错误,转储并退出
nginx -q #在检测配置文件期间屏蔽非错误信息
nginx -p prefix #设置前缀路径(默认是:/usr/share/nginx/)
nginx -c filename #设置配置文件(默认是:/etc/nginx/nginx.conf)
nginx -g directives #设置配置文件外的全局指令
killall nginx #杀死所有nginx进程
//修改nginx配置,在不能重启的情况下,可以无需重新启动Docker容器即可重新加载新配置。Nginx可以hot-reload配置而不重新启动。
//查询nginx所在容器id:docker ps -a
docker ps -a
//测试nginx配置
docker exec 容器id nginx -t
//重新加载nginx配置
docker exec 容器id nginx -s reload
docker安装jenkins
前提环境
centos-release-7-9.2009、Docker version 20.10.1、maven、git、jdk、maven、git、jdk
步骤
一、使用docker拉取jenkins镜像
docker search jenkins
docker pull jenkins/jenkins
查看本地镜像
docker images
二、在宿主机创建jenkins挂载目录并授权
# 目录自定义
mkdir -p /home/local/jenkins_home
chmod 777 /home/local/jenkins_home
三、启动jenkins镜像
docker run --name myjenkins -p 9995:8080 -p 50001:50000 \
--restart=always -u root \
-v /var/run/docker.sock:/var/run/docker.sock \
-v $(which docker):/bin/docker \
-v /usr/lib64/libltdl.so.7:/usr/lib/x86_64-linux-gnu/libltdl.so.7 \
-v /var/lib/docker/tmp:/var/lib/docker/tmp \
-v /home/local/jenkins_home:/var/jenkins_home \
-v /etc/localtime:/etc/localtime \
-v /usr/local/maven/apache-maven-3.8.6:/usr/local/maven \
-d jenkins:1.25.5
上述命令说明:
1. --restart=always #Docker重启后该容器也为随之重启
2. -u root
#以root的身份去运行镜像(避免在容器中调用Docker命令没有权限)
#最好使用docker用户去运行
3. -v $(which docker):/bin/docker
#将宿主机的docker命令挂载到容器中
#可以使用which docker命令查看具体位置
4. -v /var/run/docker.sock:/var/run/docker.sock
#容器中的进程可以通过它与Docker守护进程进行通信
5. -v /usr/lib64/libltdl.so.7:/usr/lib/x86_64-linux-gnu/libltdl.so.7
#libltdl.so.7是Docker命令执行所依赖的函数库
#容器中library的默认目录是 /usr/lib/x86_64-linux-gnu/
#把宿主机的libltdl.so.7 函数库挂载到该目录即可
#可以通过whereis libltdl.so.7命令查看具体位置
#centos7位置/usr/lib64/libltdl.so.7
#ubuntu位置/usr/lib/x86_64-linux-gnu/libltdl.so.7
6. -v /home/local/jenkins_home:/var/jenkins_home
#将运行的docker镜像目录挂载到本地的/home/local/jenkins_home目录
7. -v /usr/local/maven/apache-maven-3.8.6:/usr/local/maven
#将本地的maven拷贝到镜像对应目录
8. -v /etc/localtime:/etc/localtime
#保持镜像和宿主机时间一致
9. -d #后台运行镜像
运行上述命令,查看jenkins容器日志,是否启动成功
docker logs -f 容器id/名称
进入镜像
docker exec -it 容器id/名称 /bin/bash
在容器中运行以下命令,如果没出错,成功一半了
docker ps
ls
四、配置jenkins
在日志中找到密码,复制输入下一步,安装推荐的插件,直到配置完成。
后续就是全局配置,需要中文的可以下载插件,之后指定位置输入zh_CN , 切换中文
cat /home/jenkins_home/secrets/initialAdminPassword
用得到的管理员密码进行登录
安装推荐的插件即可
docker启动jenkins
docker run --name myjenkins -p 9995:8080 -p 50001:50000 \
--restart=always -u root \
-v /var/run/docker.sock:/var/run/docker.sock \
-v $(which docker):/bin/docker \
-v /usr/lib64/libltdl.so.7:/usr/lib/x86_64-linux-gnu/libltdl.so.7 \
-v /var/lib/docker/tmp:/var/lib/docker/tmp \
-v /home/local/jenkins_home:/var/jenkins_home \
-v /etc/localtime:/etc/localtime \
-v /home/local/gradle-7.3.3:/usr/local/gradle \
-d jenkins/jenkins:latest