首页
统计
墙纸
留言
Search
1
PVE8优化
19 阅读
2
mysql创建数据库
12 阅读
3
jenkins根据分支、文件夹打包
12 阅读
4
vue-cli注册全局方法
7 阅读
5
开心的加班
7 阅读
web前端
Vue
CSS
javascript
React
那些年爬过过的坑
ES6
TypeScrippt
ES7
javascript图灵 - 总结
Node
面试总结
React-Native
Web优化
基础
AngularJS
拍摄
Flutter
Dart
Docker
Linux
mysql
PVE
登录
/
注册
Search
标签搜索
vue+elementui
Cicaba
累计撰写
146
篇文章
累计收到
13
条评论
首页
栏目
web前端
Vue
CSS
javascript
React
那些年爬过过的坑
ES6
TypeScrippt
ES7
javascript图灵 - 总结
Node
面试总结
React-Native
Web优化
基础
AngularJS
拍摄
Flutter
Dart
Docker
Linux
mysql
PVE
页面
统计
墙纸
留言
搜索到
13
篇与
的结果
2020-03-02
linux笔记 - vim
剪切和粘贴定位鼠标到剪切的开始位置输入v键开始选择剪切的字符,或者V键是为了选择 整行移动方向键到结束的地方d键是剪切,y键是复制移动鼠标到粘贴的位置输入P是在鼠标位置前粘贴,输入p键是在鼠标的位置后粘贴命令模式使用数字0可以跳到行首使用符号$可以跳到行尾连续按两次小写字母g,光标就能移动到当前文件的开始位置使用大写字母G,光标就能移动到当前文件末尾使用数字+G就可以跳到指定的行了。但是vi本身不显示行数,vim才显示行数。使用小写字母x删除光标所在的字符使用大写字母X删除光标前面的字符连续按两次小写字母d,光标所在行就能被整行删除。使用大写字母D可以删除光标所在行后面的内容使用d+0可以删除光标所在行前面的内容使用小写字母u撤销上一步操作,注意这个操作是撤销上一步操作,当你连按两次的时候,相当于恢复到按u之前。vi的删除其实是剪切,当你删除某个内容以后,立即在某一行,按下小写字母p就能看到,你刚才删除的内容被粘贴在了这里。使用小写字母p把内容粘贴到光标所在行的下一行使用大写字母P把内容粘贴的光标所在行连续按两次小写字母y,即可复制当前行的内容。如果想复制多行,可以使用数字+两次y。在命令模式下,按下小写字母v进入可视模式,然后使用方向键或者h,j,k,l键来移动光标,选中你想选中的内容,然后进行相应的操作。在可视模式下,复制是y,删除是d。查找文本内容,在命令模式下输入反斜杠“/”。然后输入需要查找的内容,按下回车,查找就开始了。如果找不到,他会有一个提示。如果找到了,可以使用小写字母n向下依次查找,使用大写字母N向上依次查找。查找文本内容,把光标移动到某个单词之上,然后按下#键,就能找到文本中所有的该单词。
2020年03月02日
1 阅读
0 评论
0 点赞
2019-11-21
Caddy - 方便够用的 HTTPS server
1 安装用过 golang 的应该都知道,golang 程序基本上不会有各种依赖,都是光秃秃一个可执行程序,cp 到 /usr/local/bin 就算安装完成了,所以说安装 caddy 是很简单的,我给出三种方法。1.1 脚本安装curl -s https://getcaddy.com | bashcaddy 官方给出了一个安装脚本,执行上面的命令就可以一键安装 caddy,等执行结束后,使用 which caddy,可以看到 caddy 已经被安装到了 /usr/local/bin/caddy1.2 手动安装https://caddyserver.com/download 点这个链接进入到 caddy 官网的下载界面,网页左侧可以选择平台和插件,如果在 Linux 服务器上使用的话,platform 选择 Linux 64-bit 就可以了,plugins 如果暂时不需要的话,可以不选。然后点击下面的 DOWNLOAD 按钮,就下载到 caddy 了。同理,解压之后用 cp 命令放到 /usr/local/bin/caddy 就完成了安装。image_1bn3mbk8jov2es3vu41l842ac9.png-177.7kB1.3 源码安装go get github.com/mholt/caddy/caddy对于安装了 golang 编译器的同学,只需要执行 go get 就能到 $GOPATH/bin 里,是否 cp 到 /usr/local/bin 里就看心情了。使用源码安装可以安装到最新版本的 caddy,功能上一般是最新的,而且因为是本地编译,性能可能会稍微高一些,但是可能会存在不稳定的现象。2 配置2.1 临时文件服务器Caddy 的配置文件叫做 Caddyfile,Caddy 不强制你把配置文件放到哪个特定文件夹,默认情况下,把 Caddyfile 放到当前目录就可以跑起来了,如下:echo 'localhost:8888' >> Caddyfile echo 'gzip' >> Caddyfile echo 'browse' >> Caddyfile caddy在随便一个目录里执行上面代码,然后在浏览器里打开 http://localhost:8888 发现 caddy 已经启动了一个文件服务器。当临时需要一个 fileserver 的时候(比如共享文件),使用 caddy 会很方便。2.2 生产环境使用当然了,在生产环境使用的时候就不能这么草率的把配置文件放到当前目录了,一般情况下会放到 /etc/caddy 里。sudo mkdir /etc/caddy sudo touch /etc/caddy/Caddyfile sudo chown -R root:www-data /etc/caddy除了配置文件,caddy 会自动生成 ssl 证书,需要一个文件夹放置 ssl 证书。sudo mkdir /etc/ssl/caddy sudo chown -R www-data:root /etc/ssl/caddy sudo chmod 0770 /etc/ssl/caddy因为 ssl 文件夹里会放置私钥,所以权限设置成 770 禁止其他用户访问。最后,创建一下放置网站文件的目录,如果已经有了,就不需要创建了。sudo mkdir /var/www sudo chown www-data:www-data /var/www创建好这些文件和目录了之后,我们需要把 caddy 配置成一个服务,这样就可以开机自动运行,并且管理起来也方便。因为目前大多数发行版都使用 systemd 了,所以这里只讲一下如何配置 systemd,不过 caddy 也支持配置成原始的 sysvinit 服务,具体方法看这里。sudo curl -s https://raw.githubusercontent.com/mholt/caddy/master/dist/init/linux-systemd/caddy.service -o /etc/systemd/system/caddy.service # 从 github 下载 systemd 配置文件 sudo systemctl daemon-reload # 重新加载 systemd 配置 sudo systemctl enable caddy.service # 设置 caddy 服务自启动 sudo systemctl status caddy.service # 查看 caddy 状态3 Caddyfile基本的安装配置搞定之后,最重要的就是如何写 Caddyfile了。可以直接 vim /etc/caddy/Caddyfile 来修改 Caddyfile,也可以再自己电脑上改好然后 rsync 到服务器上。如果修改了 Caddyfile 发现没有生效,是需要执行一下 sudo systemctl restart caddy.service 来重启 caddy 的。3.1 Caddyfile 的格式Caddfile的格式还是比较简单的,首先第一行必须是网站的地址,例如:localhost:8080或lengzzz.com地址可以带一个端口号,那么 caddy 只会在这个端口上开启 http 服务,而不会开启 https,如果不写端口号的话,caddy 会默认绑定 80 和 443 端口,同时启动 http 和 https 服务。地址后面可以再跟一大堆指令(directive)。Caddyfile 的基本格式就是这样,由一个网站地址和指令组成,是不是很简单。3.2 指令指令的作用是为网站开启某些功能。指令的格式有三种,先说一下最简单的不带参数的指令比如:railgun.moe # 没错,moe后缀的域名也可以哦gzip第二行的 gzip 就是一个指令,它表示打开 gzip 压缩功能,这样网站在传输网页是可以降低流量。第二种指令的格式是带简单参数的指令:railgun.moe gzip log /var/log/caddy/access.log tls lengz@lengzzz.com root /var/www/第三行,log 指令会为网站开启 log 功能,log 指令后的参数告诉 caddy log 文件存放的位置。第四行的 tls 指令告诉 caddy 为网站开启 https 并自动申请证书,后面的 email 参数是告知 CA 申请人的邮箱。(caddy 会默认使用 let's encrypt 申请证书并续约,很方便吧)另外,简单参数也可能不只一个,比如 redir 指令:railgun.moe gzip log /var/log/caddy/access.log tls /etc/ssl/cert.pem /etc/ssl/key.pem root /var/www/ redir / https://lengzzz.com/archive/{uri} 301上面的 redir 指令带了三个参数,意思是把所有的请求使用 301 重定向到 https://lengzzz.com/archive/xxx,这个指令在给网站换域名的时候很有用。另外 tls 指令变了,不单单传 email一个参数, 而是分别传了证书和私钥的路径,这样的话 caddy 就不会去自动申请证书,而是使用路径给出的证书了。在这个例子里还使用了 {uri} 这样的占位符(placeholder),详细的列表可以在这里查询到:https://caddyserver.com/docs/placeholders。最后一种指令是带复杂参数的,这种指令包含可能很多参数,所以需要用一对花括号包起来,比如 header 指令:railgun.moe gzip log /var/log/caddy/access.log tls lengz@lengzzz.com root /var/www/ header /api { Access-Control-Allow-Origin * Access-Control-Allow-Methods "GET, POST, OPTIONS" -Server } fastcgi / 127.0.0.1:9000 php { index index.php } rewrite { to {path} {path}/ /index.php?{query} }6-10 行的 header 指令代表为所有的 /api/xxx 的请求加上 Access-Control-Allow-Origin 和 Access-Control-Allow-Methods 这两个 header,从而能支持 javascript 跨域访问 ,第 9 行代表删除 Server header,防止别人看到服务器类型。11-13 行使用了 fastcgi 指令,代表把请求通过 fastcgi 传给 php,ruby 等后端程序。14-15 行,使用了 rewrite 指令,这个指令的作用是 服务器内部重定向 在下面的参数 to 后面,又跟了三个参数,这个功能上有点类似 nginx 的 try_files 。告诉 caddy 需要先查看网址根目录 /var/www 里有没有 {path} 对应的文件,如果没有再查看有没有 {path} 对应的目录,如果都没有,则转发给 index.php 入口文件。这个功能一般会用在 PHP 的 MVC 框架上使用。随着一步步完善这个 Caddyfile,目前这个版本的 Caddyfaile 已经可以直接在网站中使用了。3.3 多 HOST 网站刚才说的一直都是单个域名的网址,那么如果在同一个服务器上部署多个域名的网站呢?很简单,只需要在域名后面跟一个花括号扩起来就可以了,如下:railgun.moe { gzip log /var/log/caddy/railgun_moe.log tls lengz@lengzzz.com root /var/www/ header /api { Access-Control-Allow-Origin * Access-Control-Allow-Methods "GET, POST, OPTIONS" -Server } fastcgi / 127.0.0.1:9000 php { index index.php } rewrite { to {path} {path}/ /index.php?{query} } } lengzzz.com { tls lengz@lengzzz.com log /var/log/caddy/lengzzz_com.log redir / https://railgun.moe/{uri} 301 }
2019年11月21日
2 阅读
0 评论
0 点赞
2019-07-17
linux笔记
基础操作命令tree [-d] 显示文件树 [-d] 只显示文件夹树ls [-lha] 显示当前目录下的文件 [-lh]以列表的形式显示及文件大小。[-a]显示所有文件及隐藏文件(隐藏文件以点开头)~/ 家目录 /根目录mkdir [-p] 创建文件夹 [-p]递归创建文件夹touch 创建文件夹cp [-r] scp [-rP]拷贝文件 [-r]拷贝目录 [-P]指定端口 rm [-frid] 的、删除文件及文件夹 [-r] 递归 [-f]强制删除 [i]删除提示 [d]删除文件夹mv [-bfi] 移动文件到指点目录下或重命名 [-b]覆盖前先备份 [-f]强行移动 [-i]移动前先备份cat [-dn] more 查看文件内容,more可以分屏显示 [-d]显示带文本行号,[-n]显示所有行号grep [-niv] 文本搜索 [-n]显示行号 [-i]忽略大小写 [-v]显示不包含文本的所有行 模式查找 ^ $echo 在终端中显示参数 > 输出内容到文件 >> 追加内容到文件| 管道 将上一个命令输出交给下一个命令处理date 查看系统时间cal [-y] 查看日历 [-y]查看当年日历df [-h] 查看磁盘信息du [-h] 查看占用情况ps aux 查看进程详情 a显示所有进程 u显示详情 x显示没有终端启动的进程top 动态显示进程信息kill [-9] j=进程代号 终止应用[-9]强制终止find [-name] 路径 “.js” 搜索文件ln [-s] 完整路径 连接名称 建立连接[-s]软连接打包解压缩-C 指定解压目录(必须先创建)tar -cvf 打包文件.tar 路径 打包tar -xvf 打包文件.tar 解包(gzip)tar -zcvf 打包文件.tar.gz 路径 打包压缩tar -zxvf 打包文件.tar.gz 解压解包(bzip2)tar -jcvf 打包文件.tar.bz2 路径 打包压缩tar -jxvf 打包文件.tar.bz2 解压解包用户及权限管理groupadd 添加用户组groupdel 删除用户组 /etc/groupchgrp [-R] 修改用户组 [-R]递归useradd [-mg] 添加用户 [-m]自动创建家目录[-g]指定用户组passwd 用户名 设置密码userdel [-r] 删除用户 [-r]自动删除家目录id 用户名 查看用户id信息who 查看当前登录的用户列表whomi 查看当前登录用户usermod [-Gg] 修改用户的组 [-g]修改主组 [-G]修改附加组which 查看命令所在的文件su - 用户名 切换用户 [-]切换到家目录exit 退出用户liunx 停止进程重启命令:1、reboot2、shutdown -r now 立刻重启(root用户使用)3、shutdown -r 10 过10分钟自动重启(root用户使用)4、shutdown -r 20:35 在时间为20:35时候重启(root用户使用)修改文件权限chown 用户名 目录/文件名 修改文件或目录拥有着chgrp [-R] 组名 目录/文件名 修改文件或目录组权限chmod [-R] -+rwx 目录/文件名 修改文件或目录权限chmod 可以简单修改 拥有者/组/其他用户 chmod -R 755 文件/目录 r w x 4 2 1ssh 免密登录(对称加密)ssh-keygen 生成对称加密秘钥(id_rsa私钥 id_rsa.pub公钥)ssh-copy-id 上传公钥到服务器 known_hosts (ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.1.196)ssh别名在.ssh目录下新建configHost 别名 HostName ip User 用户名 Port 端口目录说明/bin 二进制执行文件目录,主要用于具体应用/sbin 系统二进制执行文件目录,主要用于系统管理usr/bin 后期安装的一些软件usr/sbin 超级用户的一些管理软件改源vim /etc/apt/sources.list gg dG deb http://cn.archive.ubuntu.com/ubuntu bionic main multiverse restricted universe deb http://cn.archive.ubuntu.com/ubuntu bionic-updates main multiverse restricted universe deb http://cn.archive.ubuntu.com/ubuntu bionic-security main multiverse restricted universe deb http://cn.archive.ubuntu.com/ubuntu bionic-proposed main multiverse restricted universe
2019年07月17日
3 阅读
0 评论
0 点赞
1
2