首页
关于
统计
留言
更多
友链
直播
壁纸
Search
1
单机部署milvus(向量数据库)
12 阅读
2
Nginx部署
11 阅读
3
MySQL部署
9 阅读
4
源码编译安装ansible
9 阅读
5
typecho 部署
8 阅读
Linux
Typecho
小程序
生活
其他
k8s
登录
Search
clouds
累计撰写
18
篇文章
累计收到
15
条评论
首页
栏目
Linux
Typecho
小程序
生活
其他
k8s
页面
关于
统计
留言
友链
直播
壁纸
搜索到
1
篇与
的结果
2025-06-18
typecho 部署
1.使用docker-compose部署1.安装docker和docker-compose,博主# https://clouds.emal.cc/index.php/archives/13/ 这个地址有安装详情 2.这里将原有的typecho代理成了https 3.docker images下载地址 mysql: https://package.emal.cc/httpd/img/mysql.tar typecho: https://package.emal.cc/httpd/img/typecho.tar nginx: https://package.emal.cc/httpd/img/nginx.tar2.准备目录mkdir -p {certificates,mysql,typecho} certificates 证书存放目录 mysql 数据库数据存放目录 typecho 博客主题插件存放目录3.创建文件config.inc.php php配置文件 mysql.env mysql配置文件 nginx.conf nginx配置文件 for i in config.inc.php mysql.env nginx.conf do touch $i done 添加权限: chmod -R 755 ./4.文件内容1.config.inc.php <?php //start debug //define('__TYPECHO_DEBUG__', true); // site root path define('__TYPECHO_ROOT_DIR__', dirname(__FILE__)); /** 开启HTTPS */ define('__TYPECHO_SECURE__',true); // plugin directory (relative path) define('__TYPECHO_PLUGIN_DIR__', '/usr/plugins'); // theme directory (relative path) define('__TYPECHO_THEME_DIR__', '/usr/themes'); // admin directory (relative path) define('__TYPECHO_ADMIN_DIR__', '/admin/'); // register autoload require_once __TYPECHO_ROOT_DIR__ . '/var/Typecho/Common.php'; // init \Typecho\Common::init(); // config db $db = new \Typecho\Db('Pdo_Mysql', 'typecho_'); // 由于我们的typecho后续也是允许在docker里,所以根据之前的网络配置我们可以写db来连接同在docker部署的mysql,注意端口时docker内的端口,而不是映射到docker外的 $db->addServer(array ( 'host' => 'db', 'port' => 3306, 'user' => 'root', 'password' => 'your_password', 'charset' => 'utf8mb4', 'database' => 'typecho', 'engine' => 'InnoDB', ), \Typecho\Db::READ | \Typecho\Db::WRITE); \Typecho\Db::set($db); /** 开启HTTPS */ define('__TYPECHO_SECURE__'true); define('__TYPECHO_SECURE__',true); 2.mysql.env # MySQL的root用户默认密码,这里自行更改 MYSQL_ROOT_PASSWORD=your_password # MySQL镜像创建时自动创建的数据库名称 MYSQL_DATABASE=typecho # MySQL镜像创建时自动创建的用户名 MYSQL_USER=typecho # MySQL镜像创建时自动创建的用户密码 MYSQL_PASSWORD=your_password 3.nginx.conf ############################## 公共资源 ############################## # SSL优化参数 共享SSL参数(减少重复配置) ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers 'TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:ECDHE-ECDSA-AES128-GCM-SHA256'; ssl_prefer_server_ciphers on; ssl_session_cache shared:SSL:10m; ssl_session_timeout 10m; server { listen 443 ssl; server_name demo.cloud.com; ssl_certificate /etc/nginx/ssl/fullchain.pem; # 将这路径替换为你的证书路径 ssl_certificate_key /etc/nginx/ssl/privkey.pem; # 将这路径替换为你的证书私钥路径 # 关闭直接IP访问 if ($host != "demo.cloud.com") { return 444; } # 全站反向代理配置 location / { proxy_pass http://10.1.8.2:8003; } # 强制HTTPS跳转 error_page 497 https://$host$request_uri; } server { listen 8003; server_name demo.cloud.com; return 301 https://$server_name$request_uri; } ############################## 公共资源 ############################## # 公共代理参数文件 proxy_params proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; # 可选:WebSocket支持 proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; 4.docker-compose.yml version: '2.1' services: typecho: image: joyqi/typecho:1.2.0-php7.4-apache restart: always volumes: - ./typecho:/app/usr environment: - TYPECHO_SITE_URL=https://demo.cloud.com networks: xy: ipv4_address: 172.18.0.10 logging: driver: "json-file" options: max-size: "50m" max-file: "3" db: image: mysql:5.7.21 restart: always ports: - 5425:3306 volumes: - ./mysql:/var/lib/mysql env_file: - mysql.env networks: xy: ipv4_address: 172.18.0.11 logging: driver: "json-file" options: max-size: "50m" max-file: "3" nginx: image: nginx:latest restart: always ports: - 5424:80 - 5423:443 volumes: - ./nginx.conf:/etc/nginx/conf.d/default.conf - ./certificates:/etc/nginx/ssl networks: xy: ipv4_address: 172.18.0.12 depends_on: - typecho networks: xy: driver: bridge ipam: config: - subnet: 172.18.0.0/165.typecho文件设置编辑Typecho站点根目录下的文件config.inc.php加入下面一行配置,否则网站后台还是会调用HTTP资源。 /* 开启HTTPS / define('__TYPECHO_SECURE__',true);6.启动服务docker-compose up -d7.Typecho设置登录Typecho后台 -> 设置 -> 基本设置 -> 站点地址改成https的域名是必须的8.修改你们的地址和域名wget https://packages.emal.cc/package/typecho/blogc-20250527.tar.gz # 更换域名 sed -i 's/demo.cloud.com/你的域名/g' docker-compose.yml sed -i 's/demo.cloud.com/你的域名/g' nginx.conf sed -i 's/10.1.8.2/你部署机器的IP/g' nginx.conf # 部署typecho docker-compose up -d
2025年06月18日
8 阅读
0 评论
1 点赞