首页
码农说码
运维自嗨
茶话四海
留言板
友链
许可
Search
1
批量将 discuz 数据库编码从 utf8 转为 utf8mb4
99,313 阅读
2
Windows 下生成 SSL 数字证书
98,510 阅读
3
rsync 多进程并发执行同步数据
97,347 阅读
4
正则表达式 - 模式修饰符(PHP)
97,101 阅读
5
PHP 获取文件真实路径(清理路径信息)
96,663 阅读
一个全栈攻城狮的纯技术干货分享 ~
登录
Search
标签搜索
linux
shell
ubuntu
php
nginx
windows
mysql
batch
js
ip
docker
esxi
macos
k3s
kubernetes
域名
svn
matomo
k8s
转载
若海
累计撰写
170
篇文章
累计收到
176
条评论
首页
栏目
码农说码
运维自嗨
茶话四海
页面
留言板
友链
许可
搜索到
27
篇与
的结果
2020-09-17
Linux 查看CPU温度
有点傻眼了,我竟然从来没想过这个问题。话说,托管在IDC机房的服务器需要关注硬件温度么?安装温度传感器工具apt install lm-sensors探测温度传感器yes | sensors-detect查看硬件温度sensors
2020年09月17日
33,588 阅读
0 评论
0 点赞
2020-09-07
NFS 服务端配置
1、上云是好事情,但也不能荒废自身武艺、今天回顾下Debian系的文件共享服务器创建过程~# 安装服务端 apt install -y nfs-kernel-server # 共享路径 允许的主机(共享参数) echo "/var/www 10.1.1.0/24(rw,sync,no_subtree_check)" > /etc/exports # 更新列表 exportfs -r # 重启服务 /etc/init.d/nfs-kernel-server restart2、在其他机器上挂载即可,关于其他选项请参阅下表参数说明ro只读rw读写root_squash当 NFS 客户端以 root 管理员访问时,映射为 NFS 服务器的匿名用户no_root_squash当 NFS 客户端以 root 管理员访问时,映射为 NFS 服务器的 root 管理员all_squash无论 NFS 客户端使用什么账户访问,均映射为 NFS 服务器的匿名用户sync同时将数据写入到内存与硬盘中,保证不丢失数据async优先将数据保存到内存,然后再写入硬盘;这样效率更高,但可能会丢失数据3、同网段客户端挂载方式# 安装客户端 apt install -y --no-install-recommends nfs-common # 挂载到指定路径 mkdir -p /mnt/nfs2 mount 10.1.1.2:/var/www /mnt/nfs24、强制卸载挂载点# 先使用这条命令 fuser -km /app/nfs/ # 再 umount 就可以了 umount /app/nfs/
2020年09月07日
53,492 阅读
0 评论
0 点赞
2020-01-26
快速创建 TLS 证书并部署到 Docker 服务
将下方代码保存为certbot.sh,修改头部变量后,上传到装有openssl组件的linux服务器上运行即可。#!/bin/sh # export PASSWORD="密码" export COUNTRY="CN" export STATE="省" export CITY="市" export ORGANIZATION="公司名称" export ORGANIZATIONAL_UNIT="Dev" export COMMON_NAME="域名" export EMAIL="电子邮件地址" export HOST_NAME="$COMMON_NAME" export IP=`ping $HOST_NAME -c 1 | sed '1{s/[^(]*(//;s/).*//;q}'` export DIR="cert-$HOST_NAME" # Workspace [ -d $DIR ] || mkdir -p $DIR echo "PASSWORD: $PASSWORD" > $DIR/!nfo.txt echo "HOST_NAME: $HOST_NAME" >> $DIR/!nfo.txt echo "HOST_IP: $IP" >> $DIR/!nfo.txt # Generate CA openssl genrsa -aes256 -passout "pass:$PASSWORD" -out "$DIR/ca-key.pem" 4096 openssl req -new -x509 -days 3650 -key "$DIR/ca-key.pem" -sha256 -out "$DIR/ca.pem" -passin "pass:$PASSWORD" -subj "/C=$COUNTRY/ST=$STATE/L=$CITY/O=$ORGANIZATION/OU=$ORGANIZATIONAL_UNIT/CN=$COMMON_NAME/emailAddress=$EMAIL" # Generate Server Certs openssl genrsa -out "$DIR/server-key.pem" 4096 openssl req -subj "/CN=$HOST_NAME" -sha256 -new -key "$DIR/server-key.pem" -out $DIR/server.csr echo "subjectAltName = DNS:$HOST_NAME,IP:$IP,IP:127.0.0.1" > $DIR/server.cnf echo "extendedKeyUsage = serverAuth" >> $DIR/server.cnf openssl x509 -req -days 3650 -sha256 -in $DIR/server.csr -passin "pass:$PASSWORD" -CA "$DIR/ca.pem" -CAkey "$DIR/ca-key.pem" -CAcreateserial -out "$DIR/server-cert.pem" -extfile $DIR/server.cnf # Generate Client Certs openssl genrsa -out "$DIR/client-key.pem" 4096 openssl req -subj '/CN=client' -new -key "$DIR/client-key.pem" -out $DIR/client.csr echo "extendedKeyUsage = clientAuth" > $DIR/client.cnf openssl x509 -req -days 3650 -sha256 -in $DIR/client.csr -passin "pass:$PASSWORD" -CA "$DIR/ca.pem" -CAkey "$DIR/ca-key.pem" -CAcreateserial -out "$DIR/client-cert.pem" -extfile $DIR/client.cnf # Modify Certs Permission chmod 0400 $DIR/*-key.pem chmod 0444 $DIR/ca.pem $DIR/*-cert.pem # Remove Temporary Files rm -f $DIR/*.csr $DIR/*.cnf如果需要部署到Docker服务,请继续# Install To Docker Daemon mkdir -p /etc/docker/certs.d cp $DIR/ca.pem /etc/docker/certs.d/ cp $DIR/server-*.pem /etc/docker/certs.d/ cat <<EOF >/etc/docker/daemon.json { "tlsverify": true, "tlscacert": "/etc/docker/certs.d/ca.pem", "tlscert": "/etc/docker/certs.d/server-cert.pem", "tlskey": "/etc/docker/certs.d/server-key.pem", "hosts": ["tcp://0.0.0.0:2376", "unix:///var/run/docker.sock"] } EOF # Modify Systemd Service if [ -f /lib/systemd/system/docker.service ]; then sed -i 's#\["tcp:#\["fd://", "tcp:#' /etc/docker/daemon.json sed -i 's# -H fd://##' /lib/systemd/system/docker.service systemctl daemon-reload && systemctl restart docker fi特别注意在systemd系统上-H已设置,因此无法使用hosts键来添加侦听地址,请参阅 https://docs.docker.com/install/linux/linux-postinstall/#configuring-remote-access-with-systemd-unit-file
2020年01月26日
41,922 阅读
0 评论
0 点赞
2018-02-23
Ubuntu下刷极路由不死uboot
今天帮朋友刷2个极路由的uboot,但他那边只有一台Ubuntu-Server可远程登陆。悲剧的我,只好SSH连接他本地的Ubuntu,然后再连接极路由刷写固件:极路由1swget https://breed.hackpascal.net/breed-mt7620-hiwifi-hc5761.bin scp -P 1022
[email protected]
:/tmp/ ssh -p 1022
[email protected]
输入密码,登陆系统后,执行刷写命令mtd write /tmp/breed-mt7620-hiwifi-mt7620.bin u-boot极路由3wget https://breed.hackpascal.net/breed-mt7620-hiwifi-hc5861.bin scp -P 1022
[email protected]
:/tmp/ ssh -p 1022
[email protected]
输入密码,登陆系统后,执行刷写命令mtd write /tmp/breed-mt7620-hiwifi-hc5861.bin u-boot
2018年02月23日
24,197 阅读
1 评论
0 点赞
2016-07-14
Ubuntu 连接 VPN 服务器 (PPTP)
一直以来都是发文,如何创建XX服务,很少有作为客户端的应用,今天就发一篇如何连接vpn服务器的文章。sudo aptitude install pptp-linux sudo pptpsetup --create myvpn --server 12.34.56.78 --username rehiy --password 123456 --encrypt --start上述命令已经完成了基本的客户端配置:在/etc/ppp/peers目录下面,会生成一个叫myvpn的文件。在/etc/ppp目录下面,用户名和密码会写在chap-secrets文件中。进阶应用1、关闭/启动VPN命令如下sudo poff myvpn sudo pon myvpn2、通过ip-up, ip-down配置路由sudo vi /etc/ppp/ip-up.d/vpn-route-enableip route del defaultip route add default dev ppp0sudo vi /etc/ppp/ip-down.d/vpn-route-disableip route del defaultip route add default dev eth0
2016年07月14日
94,673 阅读
1 评论
0 点赞
2016-02-25
Ubuntu 安装 Docker/Redmine/GitLab 教程
兴趣所致,使用Docker部署下Redmine和GitLab,体验下Docker的魅力。一、安装Docker二、安装Redmie地址 http://192.168.1.15账号 admin密码 admin三、安装Gitlab地址 http://192.168.1.16账号 root密码 5iveL!fe集成安装脚本PS1:安全起见,以下绑定的地址均为本地IP,无法对外提供服务,如需部署到服务器请酌情修改。PS2:也可以安装 rinetd 软件包,实现任意端口转发。请下载下面的集成安装脚本,修改password和email参数后,一键安装Redmine/GitLab吧~#!/bin/bash # # Author rehiy <
[email protected]
> # Website http://www.rehiy.com/post/1811 # Refs https://github.com/sameersbn/docker-gitlab # Refs https://github.com/sameersbn/docker-redmine # if [ ! `which docker` ]; then wget -qO- https://get.docker.com/ | sh fi docker network create --subnet=192.168.1.0/24 docker1 docker pull sameersbn/redis:latest docker pull sameersbn/mysql:latest docker pull sameersbn/gitlab:latest docker pull sameersbn/redmine:latest docker run --name app-redis -d \ --net docker1 --ip 192.168.1.11 \ --volume /srv/app-redis:/var/lib/redis \ sameersbn/redis:latest docker run --name app-mysql -d \ --net docker1 --ip 192.168.1.12 \ --env 'MYSQL_CHARSET=utf8' \ --env 'MYSQL_COLLATION=utf8_general_ci' \ --env 'DB_REMOTE_ROOT_NAME=root' \ --env 'DB_REMOTE_ROOT_PASS=password' \ --volume /srv/app-mysql:/var/lib/mysql \ sameersbn/mysql:latest MYSQL_CHARSET="DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci" cat > /opt/app-mysql/init.sql <<EOF CREATE USER 'gitlab'@'%.%.%.%' IDENTIFIED BY 'password'; CREATE DATABASE IF NOT EXISTS gitlabhq_production ${MYSQL_CHARSET}; GRANT ALL PRIVILEGES ON \`gitlabhq_production\`.* TO 'gitlab'@'%.%.%.%'; CREATE USER 'redmine'@'%.%.%.%' IDENTIFIED BY 'password'; CREATE DATABASE IF NOT EXISTS redmine_production ${MYSQL_CHARSET}; GRANT ALL PRIVILEGES ON \`redmine_production\`.* TO 'redmine'@'%.%.%.%'; EOF sleep 30 docker exec -it app-mysql mysql "-e source /var/lib/mysql/init.sql" rm -rf /opt/app-mysql/init.sql docker run --name app-redmine -d \ --net docker1 --ip 192.168.1.15 \ --env 'REDMINE_PORT=80' \ --env 'REDMINE_RELATIVE_URL_ROOT=/redmine' \ --env 'SMTP_DOMAIN=rehiy.com' \ --env 'SMTP_HOST=smtp.exmail.qq.com' \ --env 'SMTP_PORT=587' \ --env '
[email protected]
' \ --env 'SMTP_PASS=YOURPASS' \ --env='DB_ADAPTER=mysql2' \ --env 'DB_HOST=192.168.1.12' \ --env='DB_NAME=redmine_production' \ --env 'DB_USER=redmine' \ --env 'DB_PASS=password' \ --volume /opt/app-redmine:/home/redmine/data \ sameersbn/redmine:latest docker run --name app-gitlab -d \ --net docker1 --ip 192.168.1.16 \ --env 'GITLAB_SSH_PORT=22' \ --env 'GITLAB_PORT=80' \ --env 'GITLAB_HOST=test.rehiy.com' \ --env 'GITLAB_RELATIVE_URL_ROOT=/gitlab' \ --env '
[email protected]
' \ --env 'GITLAB_EMAIL_DISPLAY_NAME=Vmlu Team' \ --env 'GITLAB_SECRETS_DB_KEY_BASE=your-db-key-base' \ --env 'GITLAB_SECRETS_SECRET_KEY_BASE=your-secert-key-base' \ --env 'GITLAB_SECRETS_OTP_KEY_BASE=your-opt-key-base' \ --env 'GITLAB_USERNAME_CHANGE=false' \ --env 'UNICORN_TIMEOUT=120' \ --env 'SMTP_DOMAIN=rehiy.com' \ --env 'SMTP_HOST=smtp.exmail.qq.com' \ --env 'SMTP_PORT=587' \ --env '
[email protected]
' \ --env 'SMTP_PASS=your-mail-pasowrd' \ --env 'REDIS_HOST=192.168.1.11' \ --env 'REDIS_PORT=6379' \ --env 'DB_ADAPTER=mysql2' \ --env 'DB_HOST=192.168.1.12' \ --env 'DB_NAME=gitlabhq_production' \ --env 'DB_USER=gitlab' \ --env 'DB_PASS=password' \ --volume /opt/app-gitlab:/home/git/data \ sameersbn/gitlab:latest #sudo aptitude install -y rinetd #sudo echo "12.34.56.78 22 192.168.1.16 22" >>/etc/rinetd.conf
2016年02月25日
19,679 阅读
0 评论
0 点赞
2015-09-01
Ubuntu/Linux 配置 Vlan
很久以前配置过,后来都是基于管理交换机配置;今天被逼无奈,又一次必须使用,怎么也弄不好,原来配置方式变了,郁闷!!#开启内核支持 modprobe 8021q echo "8021q" >>/etc/modules #安装配置工具 aptitude install vlan #增加虚拟接口 vconfig add eth1 30以下内容添加到 /etc/network/interfacesauto eth1 auto eth1.30 iface eth1.30 inet static address 10.20.30.19 netmask 255.255.255.0 network 10.20.30.0 broadcast 10.20.30.255
2015年09月01日
38,693 阅读
0 评论
0 点赞
2014-10-13
Linux 磁盘莫名其妙占满(No space left on device)
今天朋友跟我讲:好奇怪的现象,磁盘明明没有满,使用 df -h 查看,显示剩余80G,但是却无法创建或者写入文件,总提示 No space left on device其实出现磁盘空间不足的提示,有两种原因,一种是我们通常认为的空间不足了,另外就是inode用完了。此时可以使用 df -li 命令看下,是不是inode使用过多造成的。如果是由于inode占满造成,那怎么解决呢,最简单的:增加inode数量。但是可能你会不放心,因为inode被占满很可能是存在什么隐患的。。。好吧,我们用下面的命令来看下一个目录中的文件总数好了,不过,你需要一个目录一个目录的耐心找下去喽!#查看某文件夹下文件的个数,包括子文件夹 ls -lR | grep "^-" | wc -l #查看某文件夹下文件夹的个数,包括子文件夹 ls -lR | grep "^d" | wc -l找到后怎么办,不用我说了吧?
2014年10月13日
50,898 阅读
0 评论
0 点赞
1
2
...
4