购买腾讯云轻量服务器后需要做的几件事

  1. 关闭服务器
  2. 前往秘钥管理生成秘钥并绑定到服务器(绑定前必须关闭服务器),另外秘钥是需要对应服务器所在区域的,不同区域的秘钥不能绑定。
  3. 重新开启服务器
  4. ssh 用 ubuntu 用户加秘钥登录服务器
  5. 将 ubuntu 的秘钥复制到 root 下,使用下列命令: sudo cp ~/.ssh/authorized_keys /root/.ssh/`
  6. ssh 可改用 root 用户登录了
  7. 如果不是 ubuntu 服务器则无需 4 到 5 步骤

安装网站环境(caddy + php + mariadb)

debian12 系统

软件包更新,可能需要重启系统

sudo apt update
sudo apt list --upgradable
sudo apt upgrade

安装 caddy

sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https
sudo curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
sudo curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-stable.list
sudo apt update
sudo apt install caddy

安装 php

sudo apt install php8.2 php8.2-common php8.2-fpm php8.2-curl php8.2-gd php8.2-mbstring php8.2-mysql php8.2-soap php8.2-sqlite3 php8.2-tidy php8.2-xsl php8.2-xmlrpc php8.2-zip

安装 mariadb

sudo apt install mariadb-server

配置 caddy

Caddy 的配置文件位于: /etc/caddy/Caddyfile

打开 Caddyfile,然后删掉里面所有内容,在添加下面内容:

{
    log {
        format json {
            time_format "iso8601"
        }
        output file /data/caddy/log/global.log
    }
}
import /data/caddy/conf/vhost/*.conf

需要创建下面的目录结构:

mkdir -p /data/caddy/conf/vhost
mkdir -p /data/caddy/log

添加站点只需要在vhost 目录添加 xxx.conf 文件即可。

php 的 sock 地址是:

unix//run/php/php8.2-fpm.sock

创建 mariadb 数据库和用户

# 创建数据库
create database database_name;
# 创建 mysql 用户
create user 'username'@'%' identified by 'pwd123456';
# 将用户权限分配给数据库
grant all on database_name.* to 'username'@'%';
# 也可以将创建用户和分配权限写在一起
grant all on database_name.* to 'username'@'%' identified by 'pwd123456';

php配置

修改 /etc/php/8.2/fpm/php.ini

error_log = /data/php/log/error.log
max_execution_time = 10
max_input_time = 10
upload_max_filesize = 100M
post_max_size = 100M
;upload_tmp_dir =

修改 /etc/php/8.2/fpm/pool.d/www.conf

pm.max_children = 20 //静态方式下开启的php-fpm进程数量,在动态方式下他限定php-fpm的最大进程数(这里要注意pm.max_spare_servers的值只能小于等于pm.max_children)
pm.start_servers = 5 //php-fpm启动起始进程数
pm.min_spare_servers = 5 //动态php-fpm的最小空闲进程数
pm.max_spare_servers = 20 //动态php-fpm的最大空闲进程数
pm.max_requests = 5000 //子进程执行次数达到后重启

下面是一个站点的caddy 配置范例,可以将它保存为yourdomain.com.conf 然后复制到vhost 目录:

# 站点配置开始
example.com {
    redir https://www.{host}{uri}
    header -Server
}
www.example.com {
    root * /data/wwwroot/www.example.com
    encode gzip
        header -Server    
php_fastcgi unix//run/php/php8.2-fpm.sock
    file_server
    log {
        output file /data/caddy/data/log/www.example.com.access.log
    }
}
# 站点配置结束

标签: php, caddy, mariadb

添加新评论