前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >轻量级的服务器组件(支持http3)-Caddy

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

作者头像
乔千
发布2020-04-16 16:15:27
3.1K1
发布2020-04-16 16:15:27
举报

前言

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

配置环境

代码语言:javascript
复制
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

代码语言:javascript
复制
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 中增加以下行

代码语言:javascript
复制
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

创建进程池

代码语言:javascript
复制
/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

代码语言:javascript
复制
/usr/local/bin/php-fpm start

安装caddy

代码语言:javascript
复制
curl https://getcaddy.com | bash -s 
personal http.cgi,http.filemanager

创建网站文件夹

代码语言:javascript
复制
 mkdir -p /data/www/default
 chown -R www:www /data/www/

创建配置文件-实例

代码语言:javascript
复制
 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

代码语言:javascript
复制
nohup caddy -conf=/etc/caddy.conf >>  
/usr/local/caddy.log 2>&1 &

后记

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

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-03-10 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 配置环境
  • 安装php-fpm
    • 创建进程池
    • 安装caddy
      • 创建网站文件夹
        • 创建配置文件-实例
          • 后台运行 Caddy
          • 后记
          相关产品与服务
          轻量应用服务器
          轻量应用服务器(TencentCloud Lighthouse)是新一代开箱即用、面向轻量应用场景的云服务器产品,助力中小企业和开发者便捷高效的在云端构建网站、Web应用、小程序/小游戏、游戏服、电商应用、云盘/图床和开发测试环境,相比普通云服务器更加简单易用且更贴近应用,以套餐形式整体售卖云资源并提供高带宽流量包,将热门开源软件打包实现一键构建应用,提供极简上云体验。
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档