专栏首页用户4667108的专栏轻量级的服务器组件(支持http3)-Caddy

轻量级的服务器组件(支持http3)-Caddy

前言

caddy是一个轻量的服务器,而且部署起来也不是非常复杂,一向尝鲜的我们安装caddy就是为了尝试下http3和quic,当然caddy作为一些小内存的服务器或者反代其实也是不错的,因为是go编写,所以需要安装环境。

配置环境

apt-get update -y
apt-get install -y gcc g++ make zip 
lrzsz autoconf curl libxml2 libxml2- 
dev libssl-dev bzip2 libbz2-dev 
libjpeg-dev libpng12-dev libfreetype6- 
dev libgmp-dev libmcrypt-dev 
libreadline6-dev libsnmp-dev libxslt1- 
dev libcurl4-openssl-dev
groupadd -r php
groupadd -r www
useradd -r -g php -s /bin/false -d 
/usr/local/php -M php
useradd -r -g www -s /bin/false -d 
/usr/local/www -M www
#安装必要的依赖文件和创建PHP运行用户组

安装php-fpm

mkdir php
cd php
wget 
http://am1.php.net/distributions/php- 
7.2.8.tar.gz
tar -zxf php-7.2.8.tar.gz
cd php-7.2.8
ossl=`find / -name libssl.so`
ln -s $ossl /usr/lib
./configure –prefix=/usr/local/php – 
exec-prefix=/usr/local/php – 
bindir=/usr/local/php/bin – 
sbindir=/usr/local/php/sbin – 
includedir=/usr/local/php/include – 
libdir=/usr/local/php/lib/php – 
mandir=/usr/local/php/php/man –with- 
config-file-path=/usr/local/php/etc – 
with-mysql- 
sock=/var/run/mysql/mysql.sock –with- 
mhash –with-openssl –with- 
mysqli=shared,mysqlnd –with-pdo- 
mysql=shared,mysqlnd –with-gd –with- 
iconv –with-zlib –enable-zip –enable- 
inline-optimization –disable-debug – 
disable-rpath –enable-shared –enable- 
xml –enable-bcmath –enable-shmop – 
enable-sysvsem –enable-mbregex – 
enable-mbstring –enable-ftp –enable- 
pcntl –enable-sockets –with-xmlrpc – 
enable-soap –without-pear –with- 
gettext –  enable-session –with-curl – 
with-jpeg-dir –with-freetype-dir – 
enable-opcache –enable-fpm –with-fpm- 
user=php –with-fpm-group=php –without- 
gdbm –disable-fileinfo
make && make install

/etc/profile 中增加以下行

export PHP_HOME=/usr/local/php
export PATH=$PHP_HOME/bin:$PATH


source /etc/profile
cp sapi/fpm/init.d.php-fpm 
/usr/local/bin/php-fpm
chmod +x /usr/local/bin/php-fpm
cp php.ini-production 
/usr/local/php/etc/php.ini
cp /usr/local/php/etc/php- 
fpm.conf.default 
/usr/local/php/etc/php-fpm.conf

创建进程池

/usr/local/php/etc/php-fpm.d/www.conf

; Start a new pool named ‘www’
[www]
listen = /usr/local/php/var/run/$pool- 
php-fpm.sock
listen.backlog = -1
listen.allowed_clients = 127.0.0.1
listen.owner = www
listen.group = www
listen.mode = 0660
user = www
group = www
pm = dynamic
pm.max_children = 10
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 6
pm.status_path = /status
ping.path = /ping
ping.response = pong
request_terminate_timeout = 100
request_slowlog_timeout = 10s
slowlog = 
/usr/local/php/var/log/$pool.log.slow
“

启动php

/usr/local/bin/php-fpm start

安装caddy

curl https://getcaddy.com | bash -s 
personal http.cgi,http.filemanager

创建网站文件夹

 mkdir -p /data/www/default
 chown -R www:www /data/www/

创建配置文件-实例

 http://localhost {
 root /data/www/default
 gzip
 fastcgi / /usr/local/php/var/run/www- 
 php-fpm.sock {
 ext .php
 split .php
 index index.php
 }

后台运行 Caddy

nohup caddy -conf=/etc/caddy.conf >>  
/usr/local/caddy.log 2>&1 &

后记

caddy尝鲜支持quic和新特性 但是本身性能其实不如nginx,作为轻量服务器也是不错的。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • typecho对QQ社交软件的卡片分享优化

    1. 主要找到主题位置 /usr/theme/ 主题名称 / 2. 进行搜索文件名相关 head 的文件

    乔千
  • Linux常用命令(一)

    cd /demo/set 表示切换到/demo/set路径下。 cd logs 表示切换到logs路径下。 cd / 表示切换到根目录。 cd ../ 表示切换...

    乔千
  • typecho使用镜像源对头像进行加速

    Typecho的评论使用了Gravata头像,由于国内那堵墙导致访问速度缓慢,每次页面打开头像是加载最慢的,而且gravatar目前服务极不稳定,推荐用国内的源...

    乔千
  • 您有一份CTF代码审计文件等待查收

    0x01 背景 上周总结了一些文件包含与伪协议结合的利用方法,本周就找一道例题进行演练。题目源自国外某挑战平台,平台上还有许多其他有趣的challenges题目...

    漏斗社区
  • CentOS 7.5 + PHP 5.6.36 + Nginx 1.14.0 配置笔记

    Nginx 配置文件主要分成四部分:main(全局设置)、server(主机设置)、upstream(上游服务器设置,主要为反向代理、负载均衡相关配置)和 lo...

    赵达
  • Coding 在线编程体验

    本文以一个实例演示了如何使用 coding.net 构建在线开发环境。本文使用了 php 作为演示环境,其他的语言类似(应该更简单,至少不用编译源码)。

    谢正伟
  • 教你编译PHP7 (nginx+mysql+php7)

    操作系统: CentOS Linux, 6.5 64位 服务器: 阿里云 空的操作系统,我们从0开始. 在开始前,请确保你的Linux已联网,已联网,已...

    lilugirl
  • 关于PHP的cli模式

    用户2475223
  • mac机上搭建php56/nginx 1.8.x/thinkphp 3.2.x/gearman扩展/seaslog扩展/redis扩展环境

    php的各种扩展配置起来实在不容易,记录一下备忘: 一、php56 安装 虽然php7出来了,但是没用过,不知道有没有坑,这里仍然使用php5.6版本 1.1 ...

    菩提树下的杨过
  • PHP 必备居家命令

    7、php -l 最有用常用的命令,修改文件定位错误的时候,检测运行正常,结果准备了很多步骤,结果发现语法错误。

    yunfeiyun

扫码关注云+社区

领取腾讯云代金券