[折腾]小型HTTP web服务Caddy及配置PHP
前言(废话)
Caddy是一个轻量级的http服务器,虽然很轻但是却很实用,功能也很强大。适合各种小内存鸡鸡
反代超级方便,证书申请很方便
本文主要内容是caddy的安装和配置php
安装
开始搞事
准备工作
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
#简便方法?apt?install?php
#编译安装
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命令用法
caddy start – 启动
caddy stop – 暂停
caddy restart – 重启
caddy status – 检查状态
caddy install – 全新安装
caddy service – 执行命令任务
caddy update – 更新
caddy delete – 卸载
caddy about – 查看帮助
caddy version – 检查版本
总结,关于Caddy WEB服务环境仅仅是初次接触,看到这个好玩的东西就先记录下来,以便后面如果有遇到深入的使用时候再去学习。
- Android内存泄漏终极解决篇(下)
- 利用Volatility查找系统中的恶意DLL
- 雪人行动:利用IE10 0day漏洞的APT攻击剑指美国军方情报
- Android开发:最详细的 Toolbar 开发实践总结
- 关于yubikey对web应用的杞人之忧
- 利用旧版Android漏洞的E-Z-2-Use攻击代码已在Metasploit发布
- Android Studio你不知道的调试技巧
- Android 数据绑定框架DataBinding,堪称解决界面逻辑的黑科技
- 汽车黑客:没有Security就没有Safety
- Android 自定义View高级特效,神奇的贝塞尔曲线
- Android二维码扫描开发(一):实现思路与原理
- 说一道简单的BCTF题 – 分分钟而已
- 安全扫描工具Nmap引擎理解文档
- AppFuse项目笔记(1)
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Linux(CentOS7)使用 RPM 安装 mysql 8.0.11的教程
- Android Adapter里面嵌套ListView实例详解
- Centos7 安装达梦数据库的教程
- Android开发使用Handler实现图片轮播功能示例
- 简单实现Android刮刮卡效果
- CentOS7.4下 安装JDK1.8的图文教程
- Android Studio中导入JNI生成的.so库的实现方法
- Android实现文件上传和下载倒计时功能的圆形进度条
- 使用Apache ab进行http性能测试
- Android Imageloader的配置的实现代码
- Linux下如何查看版本信息的方法步骤
- Android开发实现Files文件读取解析功能示例
- Android实现iPhone晃动撤销输入功能 Android仿微信摇一摇功能
- 猿实战21——商品发布之商品数据存储
- Android编程自定义进度条颜色的方法详解