大运维
运维
解忧杂货铺Q
但行好事,莫问前程
展开
-
linux下查找 nginx.conf 所在位置
方式1☁ projects: locate nginx.conf/nginx/conf/nginx.conf/etc/nginx/nginx.conf这种情况下,就不太清楚,到底哪个才是真正的配置文件了方式2☁ projects: nginx -tthe configuration file /etc/nginx/nginx.conf syntax is okconfiguration file /etc/nginx/nginx.conf test is successful这种方式,原创 2022-05-14 13:35:05 · 2262 阅读 · 0 评论 -
CentOS找不到locate命令(locate: command not found)
问题1CentOS找不到locate命令(locate: command not found)解决方案:test: yum -y install mlocatetest: updatedb# 执行test: locate nginx.conf问题2如果安装后,依旧搜索不到文件查看配置文件test: cat /etc/updatedb.conf# 输出PRUNE_BIND_MOUNTS = "yes"PRUNEFS = "9p afs anon_inodefs auto au原创 2022-05-14 13:23:43 · 727 阅读 · 0 评论 -
zsh: command not found: XXX 通用解决方案
自带的命令,如果找不到的情况下:这种情况,一般就是在服务器上有两套命令,一个是bash和zsh。zsh里找不到bash的命令# bash生效# source ~/.bash_profile# zsh生效# source ~/.zshrc修改方法在zshrc增加 source ~/.bash_profile...原创 2022-05-14 13:14:22 · 802 阅读 · 0 评论 -
Shell练习:统计词频
写一个 bash 脚本以统计一个文本文件 words.txt 中每个单词出现的频率。为了简单起见,你可以假设:words.txt只包括小写字母和 ' ' 。每个单词只由小写字母组成。单词间由一个或多个空格字符分隔。示例:假设 words.txt 内容如下:the day is sunny the thethe sunny is is你的脚本应当输出(以词频降序排列):the 4is 3sunny 2day 1说明:不要担心词频相同的单词的排序问题,每个单词出现的频率都原创 2022-05-10 22:22:54 · 455 阅读 · 0 评论 -
echo追加一个文件里的内容到另外一个文件里面
1.txt1112.txt222命令# 覆盖echo $(cat /test/1.txt) > 2.txt# 追加echo $(cat /test/1.txt) >> 2.txt原创 2021-02-18 23:02:05 · 2827 阅读 · 0 评论 -
记录一次python多版本和软连接指向不对导致的尴尬报错:import pymysql ModuleNotFoundError: No module named ‘pymysql‘
前提条件之前为了测试一键安装脚本,安装了python3.7,却忘记了服务器上已经有了pythton3.6,然后正常添加了软连接到/usr/bin目录,其实测试并没有替换成功,因为我没有先删除软连接。然后后面执行python send.py文件时,一直报错,百思不得其解:Traceback (most recent call last): File "src/send.py", line 6, in <module> from src.fetchData import get.原创 2021-02-09 08:59:06 · 1043 阅读 · 0 评论 -
crontab 定时任务执行不生效
日志显示执行[root@AlexWong weather]# tail -f /var/log/cronFeb 5 20:04:01 AlexWong CROND[151652]: (root) CMD (sh /project/python/scrapy/weather/run.sh >/dev/null 2>&1)Feb 5 20:06:01 AlexWong CROND[151692]: (root) CMD (sh /project/python/scrapy/we.原创 2021-02-05 20:41:06 · 1058 阅读 · 0 评论 -
crontab -e无法保存:/var/spool/cron/#tmp.AlexWong.XXXXcY46QG: Operation not permitted
问题[root@AlexWong /]# sudo crontab -ecrontab: installing new crontab/var/spool/cron/#tmp.AlexWong.XXXXcY46QG: Operation not permittedcrontab: edits left in /tmp/crontab.Mr5kao[root@AlexWong /]# lsattr /var/spool/cron/----ia--------e----- /var/spool/.原创 2021-02-05 20:06:43 · 809 阅读 · 0 评论 -
华为云服务器安全组设置
默认设置安全组为Sys-WebServer常规操作如果你想放行某个端口,在修改安全组规则--> 修改入方向规则---> 添加规则,增加入口IP即可自定义安全组但是如果你有一个mysql,需要增加限制N个IP才能访问登录,一个个添加未免太麻烦,此时我们可以新建一个安全组Mysql-ip添加完IP后,一定记得关联实例,否则不会生效。这些配置都做完之后,可以引入到安全组Sys-WebServer内然后配置就完成了。如此设置的好处是方便统一管理,不用一个个在Sys-We原创 2021-02-04 11:01:55 · 4204 阅读 · 5 评论 -
docker中mysql数据库时间少八小时
/docker/volumes/mysql/conf/my.cnf在挂载的配置文件中增加[mysqld]....default-time-zone='+08:00'start.shdocker stop mysql-testdocker rm mysql-testdocker run -itd --name mysql-test \ -v /docker/volumes/mysql/data:/var/lib/mysql \ -v /docker/..原创 2021-02-04 10:47:21 · 384 阅读 · 0 评论 -
Linux Sed命令
文章目录1、前言2、实例2.1、替换2.2、删除2.3、匹配2.4、读写1、前言*sed**是一种流编辑器,它是文本处理中非常好的工具,能够完美的配合正则表达式使用;Sed主要用来自动编辑一个或多个文件,可以将数据行进行替换、删除、新增、选取等特定工作,简化对文件的反复操作,编写转换程序等;处理结果保存在缓存区域,如果不使用重定向存储输出,不会直接修改文件。语法:sed [-hnV][-e<script>][-f<script文件>][文本文件]拆分如下:sed的原创 2021-02-03 10:44:55 · 238 阅读 · 0 评论 -
CentOS脚本获取当前内网IP
[root@AlexWong /]# hostname -I | awk -F " " '{printf $1}'192.168.0.16脚本[root@AlexWong mnt]# cat test.sh#!/bin/bashIP=$(hostname -I | awk -F " " '{printf $1}')echo $IP[root@AlexWong mnt]# sh test.sh192.168.0.16原创 2021-02-02 13:28:28 · 605 阅读 · 0 评论 -
jenkins部署springBoot项目
原创 2021-02-02 11:35:40 · 437 阅读 · 0 评论 -
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
机器重启后,docker突然无法运行报错:Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?[root@ /]# systemctl start docker导致机器卡死需要采用[root@ /]# service docker startRedirecting to /bin/systemctl start docker.service...原创 2021-02-01 19:46:12 · 366 阅读 · 0 评论 -
Docker-compose一键部署nginx、mysql 和 spring boot项目
文章目录1、前言2、安装3、配置1、前言Docker-Compose项目是Docker官方的开源项目,负责实现对Docker容器进行统一编排。可以统一对同一个项目所需要的多个容器进行管理发布,避免了一个个去发布的繁琐过程。一个工程当中可包含多个服务,每个服务中定义了容器运行的镜像,参数,依赖。一个服务当中可包括多个容器实例。比如:现在有一个项目使用,包括nginx、spring boot 和 mysql。一般部署:分别部署三个容器,nginx容器,jdk容器部署spring boot的jar包和原创 2021-02-01 15:56:24 · 1587 阅读 · 0 评论 -
Ubuntu/Debian系统,执行sh ./servise.sh出现:Syntax error: “(“ unexpected
最近部署docker-compose,引用的jdk是ascdc/jdk8。当前系统版本是ubuntu执行sh servise.sh 总是报错语法错误几经查找,终于知晓,原来Ubuntu/Debian为了加快开机速度,用dash代替了传统的bash,是dash默认执行了,解决方法就是取消dash。dpkg-reconfigure dash在选择项中选No再次执行没有问题了扩展怎么区分 CentOS|Ubuntu|DebianCentOS:[root@ /]# cat /etc/redh原创 2021-02-01 11:32:25 · 760 阅读 · 0 评论 -
jenkins服务:docker-compose up 启动容器服务超时错误:ERROR: An HTTP request took too long to complete
jenkins服务配置项目,docker-compose up 启动容器服务超时错误:ERROR: An HTTP request took too long to complete. Retry with --verbose to obtain debug information.compose up 同时启动的服务过多,超过了请求HTTP限制的60s时间仍未全部成功启动起来,所以出现了超时错误;原本是docker-compose up -d改为docker-compose restart原创 2021-02-01 09:43:34 · 1179 阅读 · 0 评论 -
Docker-compose提示server_1 exited with code 0
部署server[root@ /]# docker-compose up\...Starting server_1 ...Starting server_1 ... done...server_1 exited with code 0...docker容器执行任务完成后就会处于exited状态加上 stdin_open: true , tty: true 这两行参数,代码如下,其中 stdin_open 相当于 run 命令中的 -d, 其中 tty 相当于 run 命令中的 -i原创 2021-01-29 17:13:35 · 4264 阅读 · 0 评论 -
CentOS一键安装Redis 6.0.10
redis-6.0.10.sh#!/bin/sh# 从源码安装redis# 解压后包名App=redis-6.0.10# 安装包名称AppTar=redis-6.0.10.tar.gz# 安装目录AppInstallBase=/opt# 安装目录下包名AppName=redis# 脚本目录ScriptDir=$AppInstallBase/script# 安装包保存目录AppTarDir=$AppInstallBase/soft# build目录AppBuildBase=.原创 2021-01-27 09:05:01 · 404 阅读 · 0 评论 -
CentOS一键安装MySQL5.7
mysql-5.7.sh#!/bin/sh# 安装目录AppInstallBase=/opt# 安装目录下包名AppName=mysql# 安装包保存目录AppTarDir=$AppInstallBase/soft# Yum 资源包YUMREPO=mysql57-community-release-el7-11.noarch.rpm# 下载并安装MySQL官方的 Yum Repository, Mysql版本 5.7.14fdownload(){ echo "第一步" ech.原创 2021-01-26 15:38:28 · 523 阅读 · 0 评论 -
CentOS彻底删除MySQL
查找已有mysql[root@AlexWong fastdfs]# rpm -qa | grep -i mysqlmysql-common-8.0.21-1.module_el8.2.0+493+63b41e36.x86_64mysql-errmsg-8.0.21-1.module_el8.2.0+493+63b41e36.x86_64mysql-server-8.0.21-1.module_el8.2.0+493+63b41e36.x86_64删除命令:rpm -e –nodeps 包.原创 2021-01-25 20:13:58 · 364 阅读 · 0 评论 -
CentOS一键安装nginx-1.19.6
nginx-1.19.6.sh[root@ script]# cat /opt/script/nginx-1.19.6.sh#!/bin/sh# 从源码安装nginx-1.19.6# 解压后包名App=nginx-1.19.6# 安装包名称AppTar=nginx-1.19.6.tar.gz# 安装目录AppInstallBase=/opt# 安装目录下包名AppName=nginx# 脚本目录ScriptDir=$AppInstallBase/script# 安装包保存目录.原创 2021-01-22 11:22:39 · 993 阅读 · 1 评论 -
CentOS安装Nginx报错‘conf/koi-win‘ and ‘/opt/soft/build/nginx/conf/koi-win‘ are the same file
执行 make install 命令时,出现的 cp: ‘conf/koi-win‘ and ‘opt/soft/build/nginx/conf/koi-win‘ are the same file事件还原:nginx-1.19.6.tar.gz解压目录:/opt/soft/build/nginx[root@AlexWong nginx]# lltotal 808drwxr-xr-x 6 1001 1001 4096 Jan 22 11:07 auto-rw-r--r-- 1 1001原创 2021-01-22 11:16:46 · 1146 阅读 · 0 评论 -
CentOS一键安装jdk1.8
#!/bin/sh# 从源码安装jdk108# 解压后包名App=jdk1.8.0_281# 安装包名称AppTar=jdk-8u281-linux-x64.tar.gz# 安装目录AppInstallBase=/opt# 安装目录下包名AppName=jdk# 脚本目录ScriptDir=$AppInstallBase/script# 安装包保存目录AppTarDir=$AppInstallBase/soft# build目录AppBuildBase=$AppInstallB原创 2021-01-21 16:05:39 · 830 阅读 · 0 评论 -
免登陆Oracle下载jdk
现在每次去oracle下载jdk, 都需要登录,并勾选同意协议,比较麻烦右键要下载的版本,然后复制链接如下:以jdk-8u281-linux-i586.tar.gz为例:https://download.oracle.com/otn/java/jdk/8u281-b09/89d678f2be164786b292527658ca1605/jdk-8u281-linux-i586.tar.gz# 需要把otn改成otn-pub[root@ script]# wget --no-cookies -原创 2021-01-21 13:27:14 · 3439 阅读 · 5 评论 -
解决window下编辑shell命令,linux无法正确执行sh文件,报错未预期的符号 `$‘\r‘‘ 附近有语法错误
从window拷贝到linux中,是格式出现问题了,导致无法正确执行sh文件。使用 dos2unix 转换为 unix 格式[root@ script]# sh jdk.shjdk.sh:行12: 未预期的符号 `$'\r'' 附近有语法错误'dk.sh:行12: `fdownload()[root@ script]# yum install dos2unix已加载插件:fastestmirrorbase原创 2021-01-21 10:42:59 · 1044 阅读 · 0 评论 -
nginx cache添加缓存和删除缓存
1、前言说起缓存,大家也许知道CDN。购买CDN服务后,服务提供商会把你的资源都缓存到各个加速节点上,当用户访问时,会自动获取距离用户最近节点的缓存资源,直接由最近的节点快速响应,有效解决网站访问慢,延迟高等问题。nginx缓存和CDN不同,nginx是缓存到当前机器上,减少同一资源的重复请求和服务器并发请求的压力,让网站响应访问更快。nginx主要采用proxy_cache_path指令,去定义共享的缓存2、配置缓存nginx.confproxy_cache_path /data/ngin原创 2021-01-19 19:47:51 · 2260 阅读 · 1 评论 -
nginx内置变量
内置变量存放在 ngx_http_core_module 模块中 # http协议 add_header Http-Version "$server_protocol"; # 请求中的的参数名 add_header arg_name "$arg_name"; # 请求的参数 add_header args "$args"; # 客户端地址的二进制形式 add_header binary_remo原创 2021-01-19 11:42:02 · 551 阅读 · 0 评论 -
vim快速复制当前行到下一行
光标移到要复制一行,先yy再p, 自动复制到下一行 yy 复制,8yy:表示从当前光标所在的行开始复制8行 p 粘贴 dd 剪切,8dd:表示从当前光标所在的行开始剪切8行原创 2021-01-19 10:35:05 · 13982 阅读 · 0 评论 -
Nginx配置http访问自动跳转到https
最近申请了SSL证书,但是需要保证历史http地址访问依然生效需要在nginx中设置两个server,一个保证http访问从80被转发443,然后强制使用SSL证书加密了server { listen 80; server_name www.test.com; # permanent是301永久重定向,redirect是302临时重定向 rewrite ^(.*) https://$server_name$1 permanent;}server { list原创 2021-01-18 16:18:52 · 4316 阅读 · 2 评论 -
http中的301和302的区别
文章目录HTTP 响应代码全部列表301 Moved Permanently被请求的资源已永久移动到新位置,并且将来任何对此资源的引用都应该使用本响应返回的若干个 URI 之一。如果可能,拥有链接编辑功能的客户端应当自动把请求的地址修改为从服务器反馈回来的地址。除非额外指定,否则这个响应也是可缓存的。302 Found请求的资源现在临时从不同的 URI 响应请求。由于这样的重定向是临时的,客户端应当继续向原有地址发送以后的请求。只有在Cache-Control或Expires中进行了指定的情况下,原创 2021-01-14 15:28:49 · 732 阅读 · 0 评论 -
Curl命令汇总
文章目录1、前言2、Usage-X-d-e-F-H-i-I-o-O-k--limit-rate-G3、测试接口源码1、前言curl 是常用的命令行工具,用来请求 Web 服务器。curl = client + url 客户端向服务器发送URL请求。2、Usage-X-X POST参数指定 HTTP 请求的方法curl -X POST http://192.168.66.65:61504/api/test/curl-d-d参数用于发送 POST 请求的数据体使用-d时,HTTP原创 2021-01-12 14:29:09 · 635 阅读 · 0 评论 -
window连接samba server,新建文件夹,显示无权限
window连接samba server,新建文件夹,显示无权限。这种问题出现的原因是,服务器上的文件目录权限不全需执行[root@ /] # chmod 777 /share[root@ /] # lldrwxr-xr-x 2 root root 0 1月 6 14:49 share# drwxr-xr-x 并不是全权限,说明执行成功# 需要先行移除挂载和停止samba server[root@ /]# df -h//192.168.6.101/share .原创 2021-01-06 15:42:54 · 2678 阅读 · 0 评论 -
利用SAMBA和CIFS三台机器无缝连接同步共享文件
文章目录SMB(Server Message Block)又称CIFS(Common Internet File System),一种应用层网络传输协议,由微软开发,主要功能是使网络上的机器能够共享计算机文件、打印机、串行端口和通讯等资源。它也提供认证的进程间通讯技能。它主要用在Windows的机器上。CIFS是由microsoft在SMB的基础上发展,扩展到Internet上的协议。他和具体的OS无关,在unix上安装samba后可使用CIFS.它使程序可以访问远程Internet计算机上的文件并要求原创 2021-01-06 15:09:18 · 908 阅读 · 0 评论 -
mount error(95): Operation not supported
挂载A服务器的共享文件到B服务器[root@intranet-sso-am /]# mount -t cifs -o username=test,password='test@2.' //192.168.6.19/share /sharemount error(95): Operation not supportedRefer to the mount.cifs(8) manual page (e.g. man mount.cifs)解决办法增加vers=2.0[root@intranet-s原创 2021-01-06 11:42:23 · 5588 阅读 · 1 评论 -
云服务器挂载文件目录,原有文件丢失,lost+found
云服务器挂载文件目录,原有文件丢失,目录里面会多一个lost+found。注意:文件并没有丢失,不要删除 lost + found此时只需移除挂载umount -l /dev/vdb2 /docker然后退出当前目录,重新进去,历史文件就找回来了...原创 2021-01-05 19:52:22 · 2287 阅读 · 2 评论 -
Docker搭建SVN服务器
文章目录1、前言2、部署3、总结1、前言Subversion(简称SVN),是一个开放源代码的版本控制系统。可以存储代码文档等2、部署搜索镜像使用排名第2的elleflorio/svn-server镜像这里面包含了 apache2(http server)、svn server 、svnadmin(PHP版本)代码仓库管理端,相比排名第一的garethflowers/svn-server,比较完整,可以使用http协议访问,否则只能使用svn协议访问。[root@AlexWong svn]原创 2021-01-05 10:02:03 · 3999 阅读 · 5 评论 -
CentOS服务自启动
文章目录1、前言2、操作2.1、编写脚本2.2、配置脚本2.3、问题3、总结1、前言有些服务比如mysql、redis、samba、nginx等服务,需要开机自启动,否则开机后,一个个操作也比较浪费时间。2、操作2.1、编写脚本注意:脚本执行的目录必须是绝对地址,否则找不到[root@AlexWong docker]# vim init.sh#!/bin/bash# 机器重启时,服务需要自启动# mysqlsh /docker/mysql/start.sh# redissh /do原创 2020-12-31 09:48:07 · 659 阅读 · 0 评论 -
Spring Boot手把手教学(22): 如何从零搭建一个FastDFS分布式文件系统
1、前言在实际项目中,上传下载文件是很平常的事情,大多都是上传到项目本地,每个项目都是如此,繁琐且不方便。那么是否应该考虑建立一个独立的文件系统,供所有项目共用呢?这个章节我们介绍如何搭建一个FastDFS分布式文件系统。FastDFS 是一个开源的高性能分布式文件系统(DFS)。 它的主要功能包括:文件存储,文件同步和文件访问,以及高容量和负载平衡。主要解决了海量数据存储问题,特别适合以中小文件(建议范围:4KB < file_size <500MB)为载体的在线服务。FastDFS原创 2020-12-30 09:54:03 · 662 阅读 · 0 评论 -
CentOS8查看本机IP
公网IP[root@AlexWong nginx]# curl ifconfig.me124.71.18.53# 如果不行,写全地址[root@AlexWong nginx]# curl http://www.ifconfig.me124.71.18.53124.71.18.53就是外网IP这个方法同样适用于win10内网IP[root@AlexWong nginx]# ifconfig | grep eth0 -A3eth0: flags=4163<UP,BROADCA.原创 2020-12-30 18:57:42 · 9790 阅读 · 2 评论