前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >自己快速搭建可移植性强的web服务器

自己快速搭建可移植性强的web服务器

作者头像
友儿
发布2023-10-21 13:53:54
1860
发布2023-10-21 13:53:54
举报
文章被收录于专栏:友儿友儿

之前写了一个版本的,有童鞋提出了一些好的建议,在此版本上做了一些优化和改进。

概述

阿里云的国内源加速
安装了一些工具
  • cron、curl、inetutils-ping、telnet、git、zlib1g-dev、nginx、supervisor、libzip-dev、unzip、procps、sudo、vim 安装了一些常用的PHP扩展
  • composer、gd、xdebug、zip、pdo_mysql、opcache、mysqli、bcmath、redis、mongodb、swoole(swoole 有一些问题) 安装了supervisor守护进程,保证进程安全运行 支持自动更新ssl
结构简介
代码语言:javascript
复制
├── docker-compose.yml
├── Dockerfile
├── logs
│      ├── mysql
│      ├── nginx
│      ├── php
│      └── supervisor
├── mysql
│      ├── conf
│      ├── init
│      └── mysqlroot.txt
├── nginx
│      ├── nginx-443.conf
│      ├── nginx-443.conf.default
│      └── nginx-80.conf
├── php
│      └── php.ini
├── php-fpm
│      └── www.conf
├── project
│      ├── test
│      └── ssl
├── redis
│      └── redis.conf            
└── supervisor
    └── web.conf
  • logs mysql日志、nginx日志、php日志、supervisor日志
  • mysql conf配置文件、init初始化导入数据库以及数据表、mysqlroot.txt为root密码
  • nginx nginx配置文件
  • php php配置文件
  • php-fpm php-fpm配置文件
  • redis redis配置文件
  • supervisor supervisor守护进程配置文件
使用
代码语言:javascript
复制
git clone https://github.com/niuzheng131400/webserver.git
cd webserver
设置端口以及防火墙以及安全组等
代码语言:javascript
复制
# 查看当前开放的端口
firewall-cmd --zone=public --list-ports

# 开放80端口(http)
firewall-cmd --zone=public --add-port=80/tcp --permanent

# 开放443端口(ssl)
firewall-cmd --zone=public --add-port=443/tcp --permanent

# 开放8080端口(adminer)
firewall-cmd --zone=public --add-port=8080/tcp --permanent

# 更新防火墙规则
firewall-cmd --reload

# 移除8081端口等
firewall-cmd --zone=public --remove-port=8081/tcp --permanent
配置SSL申请参数 (我这里使用的是阿里云)
  • 如果不是阿里云的请参考官方文档调整对应的参数 acme.sh官方文档
  • docker-composer.yml -> Ali_Key 以及 Ali_Secret
构建镜像 && 运行容器
代码语言:javascript
复制
docker-compose up -d
测试访问http
请输入图片描述
请输入图片描述
申请SSL && 自动更新证书
代码语言:javascript
复制
# 测试是否安装成功
docker-compose exec acme.sh sh -c 'acme.sh -v'

# 变量是否导入成功
docker-compose exec acme.sh sh -c 'echo $Ali_Key'

# 开始申请
docker-compose exec acme.sh sh -c 'acme.sh  --register-account  -m 邮箱 --server zerossl'
docker-compose exec acme.sh sh -c 'acme.sh --issue -d 域名 --dns  dns_ali --debug'
docker-compose exec acme.sh sh -c 'acme.sh --install-cert -d 域名 --key-file  /acme.sh/ssl/key.pem  --fullchain-file /acme.sh/ssl/cert.pem'

# 宿主机定时任务
0 0 * * * docker-compose exec acme.sh --cron
测试访问https(略)
请输入图片描述
请输入图片描述

源码地址

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 之前写了一个版本的,有童鞋提出了一些好的建议,在此版本上做了一些优化和改进。
  • 概述
    • 阿里云的国内源加速
      • 安装了一些工具
        • 结构简介
          • 使用
            • 设置端口以及防火墙以及安全组等
              • 配置SSL申请参数 (我这里使用的是阿里云)
                • 构建镜像 && 运行容器
                  • 测试访问http
                    • 申请SSL && 自动更新证书
                      • 测试访问https(略)
                      • 源码地址
                      相关产品与服务
                      腾讯云服务器利旧
                      云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
                      领券
                      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档