Caddy相关设置

发布于 2020-02-05  395 次阅读


外观

公共 API 收集帖

Linux相关命令

一、ll 命令

ll 并不是 linux 下一个基本的命令,它实际上是 ls -l 的一个别名。

Ubuntu 默认不支持命令 ll,必须用 ls -l,这样使用起来不是很方便。

如果要使用此命令,可以作如下修改:
打开 ~/.bashrc
找到 #alias ll=’ls -l’,去掉前面的 #就可以了。(关闭原来的终端才能使命令生效)
这样个人用户可以使用 ll 命令,当切换成超级用户后,使用 ll 命令时提示找不到命令,那是因为你只是修改了个人用户的配置,所以,切换成 root 后做相同的操作即可解决问题。
启示:我们可以通过修改~/.bashrc 添加任何其他的命令别名。

二、ll 命令结果说明

drwxr-xr-x   2 root root 48 2013-11-27 16:34 test/

第一个栏位,表示文件的属性。Linux 的文件基本上分为三个属性:可读(r),可写(w),可执行(x)。

这里有十个格子可以添(具体程序实现时,实际上是十个bit位)。

  第一个字母表示文件类型,

        ”-”, 普通文件.

        ”d” 目录, 字母”d”, 是 dirtectory(目录) 的缩写.

        “l” 符号链接。请注意, 一个目录或者说一个文件夹是一个特殊文件, 这个特殊文件存放的是其他文件和文件夹的相关信息.

        “b” 块设备文件。

        “c” 字符设备文件。

紧接着的3*3个字符分3组,各指示此文件的读、写、执行权限,对于owner、group、others而言。
因为Linux是多用户多任务系统,所以一个文件可能同时被许多人使用,所以我们一定要设好每个文件的权限,其文件的权限位置排列顺序是(以-rwxr-xr-x为例):  
rwx(Owner)r-x(Group)r-x(Other)  
这个例子表示的权限是:使用者自己可读,可写,可执行;同一组的用户可读,不可写,可执行;其它用户可读,不可写,可执行。
另外,有一些程序属性的执行部分不是X,而是S,这表示执行这个程序的使用者,临时可以有和拥有者一样权力的身份来执行该程序。一般出现在系统管理之类的指令或程序,让使用者执行时,拥有root身份。

第二个栏位,表示文件个数。如果是文件的话,那这个数目自然是 1 了,如果是目录的话,那它的数目就是该目录中的文件个数了。

第三个栏位,表示该文件或目录的拥有者。若使用者目前处于自己的 Home, 那这一栏大概都是它的账号名称。

第四个栏位,表示所属的组(group)。每一个使用者都可以拥有一个以上的组,不过大部分的使用者应该都只属于一个组,只有当系统管理员希望给予某使用者特殊权限时,才可能会给他另一个组。
第五栏位,表示文件大小。文件大小用 byte 来表示,而空目录一般都是 1024byte,当然可以用其它参数使文件显示的单位不同,如使用 ls –k 就是用 kb 莱显示一个文件的大小单位,不过一般我们还是以 byte 为主。  

第六个栏位,表示最后一次修改时间。以 “月,日,时间” 的格式表示,如 Aug 15 5:46 表示 8 月 15 日早上 5:46 分。

第七个栏位,表示文件名。我们可以用 ls –a 显示隐藏的文件名。

修改文件权限用,chmod 命令

查找命令

查找目录:find /(查找范围) -name '查找关键字' -type d
查找文件:find /(查找范围) -name 查找关键字 -print

例 1:查找 tomcat7 文件夹所在的位置

find / -name 'tomcat7' -type d

例 2:查找 server.xml 文件的位置

find / -name 'server.xml' -print

Caddy

说明:这几天一直在看逗比根据地,发现Caddy很是强大,是一个极简的HTTP服务器,支持HTTP/2静态网页服务器,安装也很快,在很多方面都可以不用安装时间很长的lnmplamp环境了,配置文件也很简单,同时还有一些有趣的扩展,可以非常方便的建造一个HTTP服务器。

安装

系统要求:CentOS 6+ / Debian 6+/ Ubuntu 14.04 +。推荐Debian 7 x64

本脚本只是一个一键安装+运行控制的脚本,没有其他管理虚拟主机等功能。

执行下面的代码安装Caddy,如果想要安装其他扩展可以把名字加到命令后面(bash caddy_install.sh install xxx,xxx,xxx,扩展列表单击查看)。

wget -N- 否 -check-certificate https://raw.githubusercontent.com/ToyoDAdoubiBackup/doubi/master/caddy_install.sh && chmod + x caddy_install.sh && bash caddy_install.sh
 #备用地址 
wget -N- 否 -检查证书https://www.moerats.com/usr/shell/Caddy/caddy_install.sh && chmod + x caddy_install.sh && bash caddy_install.sh

使用说明

启动:/etc/init.d/caddy start 
停止:/etc/init.d/caddy stop
重启:/etc/init.d/caddy restart
查看状态:/etc/init.d/球童状态
tail -f /tmp/caddy.log
安装目录:/ usr / 本地 / caddy
Caddy配置文件位置:/ usr / 本地 / caddy / Caddyfile
Caddy自动申请SSL证书位置:/。caddy / acme / acme-v01.api.letsencrypt.org / sites / xxx.xxx(域名)/

升级Caddy或者更新扩展

只需要重新执行你当初安装时候用的命令即可,会覆盖安装最新的Caddy+扩展。

卸载Caddy

卸载不会删除虚拟主机的内容,只会删除Caddy自身和配置文件。

wget -N- 否 -check-certificate https://raw.githubusercontent.com/ToyoDAdoubiBackup/doubi/master/caddy_install.sh && bash caddy_install.sh卸载
 #备用地址 
wget -N- 否 -check-certificate https: //www.moerats.com/usr/shell/Caddy/caddy_install.sh && bash caddy_install.sh卸载

网站配置文件


配置文件为Caddyfile,双重几种caddyconf的写法

1,本地访问80

:80

2,单网站访问

example.com
根/ usr / 本地 / caddy / www
//更多模块

2,多网站

example.com {
  gzip
  根/ usr / 本地 / caddy / www
  //更多模块
}

常用基本组成模块,均写到conf站点配置中。

#log日志
记录 /usr/local/caddy/www/example.log 

#目录访问
浏览

#gzip压缩
的gzip 

#自主SSL证书
TLS  /path/ssl/example.com.crt /path/ssl/example.com.key 

#访问密码认证(用户emiria,密码abc123)
basicauth  / emiria abc123 

#调用功能
redir  http://example.com {url} 

#自定义错误页面
错误 { 
    404  404.html 
    500  / usr / local / caddy / www / 500.html 
}

例如,通过IP80端口访问目录:

:80 {
     根/ usr / 本地 / caddy / www
     gzip
     浏览
    }

也可以直接执行命令编写,以下是一个命令,直接复制粘贴即可。

回声 “:80 {
 根目录/ usr / local / caddy / www
 gzip
 浏览
}“ > / usr / 本地 / caddy / Caddyfile

常见问题

1,Caddy启动失败,打开ip访问地址显示的是!
某些系统会自带apache2,而apache2会占用80端口,导致Caddy无法绑定端口,所以只要关掉就好了。

netstat -lntp
 #我们可以通过这个命令查看是不是被其他软件占用了80端口。

不过apache2会默认开机自启动,如果不需要可以关闭自启动或卸载apache2

停止Apache2

#CentOS系统
/etc/init.d/httpd停止
#Debian / Ubuntu系统
/etc/init.d/apache2停止


kill - 9 $(ps -ef | grep  “ apache2” | grep -v “ grep” | awk '{ #尝试使用上述代码关闭,如果没效果或提示什么错误无法关闭,那就用下面这个强行关闭进程。打印$ 2}')

取消开机自启动

#CentOS 系统 
chkconfig --del httpd 
#Debian / Ubuntu系统
更新 -rc.d -f apache2删除

卸载Apache2

#CentOS 系统 
yum 删除 httpd
 #Debian / Ubuntu系统 
apt- get  删除 --purge apache2

关闭Apache2后,就可以Caddy尝试启动,并试试能不能打开网页。

/etc/init.d/caddy 开始

2,启动Caddy后,无法访问
这个可能是防火墙的问题,开放防火墙端口即可。

iptables -I INPUT- m  状态 - 状态 NEW- m tcp -p tcp --dport输入-j ACCEPT
iptables -I INPUT- m  状态 - 状态 NEW- m udp -p udp --dport输入-j ACCEPT

#删除防火墙规则,内容一样把-I换成-D就行了: 
iptables -D INPUT- m  状态 - 状态 NEW- m tcp -p tcp --dport端口-j ACCEPT
iptables -D INPUT- m  状态 - 状态 NEW- m udp -p udp --dport输入-j ACCEPT

3,SSL证书
签发失败失败报错acme: error: 400 :: urn:ietf:params:acme:error:connection :: Error getting validation data, url:,检查下防火墙端口,需要开启80443端口,然后重启即可。

Caddy - Word press 伪静态设置

配置

通过查找命令找到Caddyfile文件位置

插入伪静态参数到最后一个括号之前:

rewrite {
  if {path} not_match ^\/wp-admin
  to {path} {path}/ /index.php?{query}
}

WordPress博客整体配置文件。

#域名301重定向
www.moerats.com {
  redir https://moerats.com{url}
}
#域名配置
moerats.com {
  #wordpress程序所在文件夹
  root /wordpress
  #自动签发ssl证书,邮箱随便填
  tls admin@moerats.com
  gzip
  #PHP设置
  fastcgi / 127.0.0.1:9000 php
  #伪静态设置
  rewrite {
    if {path} not_match ^\/wp-admin
    to {path} {path}/ /index.php?{query}
  }
}

如果想使用自己的ssl证书,请将tls一行参数改为tls /root/ssl.crt /root/ssl.key后面为证书路径。

关于PHP设置,有时候填入127.0.0.1:9000可能不能用,这时候我们需要打开php-fpm配置文件,这里以php7为例。先从配置文件里找到listen = /run/php/php7.0-fpm.sock,然后将后面的填入到配置文件,比如:

fastcgi / /run/php/php7.0-fpm.sock php

Linux重启命令

1,使用 root 用户

2,查看 linux 系统下所有的服务,使用命令:chkconfig --list

3,查看一个服务的状态,如查看 ntpd 服务的状态,使用命令:service ntpd status

4,停止一个服务,(系统重启后,该配置不生效) 如停止 ntpd 服务,使用命令:service ntpd stop

5,启动一个服务,(系统重启后,该配置不生效)如启动 ntp 服务,使用命令:service ntpd start

另外,对于网络服务,可以有如下的操作:

经常用到如下的命令,修改各种网络配置后,记得用 service 命令重启网络服务。

service network start  
service network stop  
service network restart  
service network status

或许明日太阳西下倦鸟已归时