## [PHP交流群:494826865(点击群号立即加群)](https://jq.qq.com/?_wv=1027&k=50Qy5h6)
# swoft的安装
sowft的安装方式有多种,官方推荐,使用`docker`或者使用`docker-compose`进行安装。
1. 使用docker安装
~~~
# 接取swoft镜像
docker pull swoft/swoft
# 创建并运行容器,如果本地没有找到对应的镜像会自动拉取(注意端口不要冲突)
docker run [-it] -p 18306:18306 --name swoft swoft/swoft [bash]
~~~
>[success] 这里只安装swoft,如果需要mysql和redis的话需要另外单独安装。
>[danger]使用这种方式安装后,其实只是部署了Swoft的运行环境,并安装了默认的Swoft的Demo。在实际的开发中,并不能直接在容器中进行开发,需要使容器代码和本地代码进行同步。后面会做详细的介绍。
2. 使用`docker-compose`安装
~~~
# 这种方式的需要编写`docker-compose.yml`这个文件,执行时需要切换到swoft的项目根目录
git clone https://github.com/swoft-cloud/swoft
cd swoft
composer update/composer install
docker-compose up
~~~
更改composer镜像
~~~
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
~~~
> 这种方式,可以根据自己的需要安装`mysql`和`redis`
docker-compose.yml
~~~
version: '3.4'
services:
swoft:
image: swoft/swoft
# for local develop
# 覆盖容器启动后默认执行的命令
# command: php -S 127.0.0.1:13300
container_name: swoft-srv
environment:
- APP_ENV=dev
- TIMEZONE=Asia/Shanghai
restart: always
depends_on:
- mysql
- redis
ports:
- "18306:18306"
- "18307:18307"
- "18308:18308"
volumes:
- ./:/var/www/swoft
# - ./:/var/www/swoft:delegated
# - ./:/var/www/swoft:cached
# - ./runtime/ng-conf:/etc/nginx
# - ./runtime/logs:/var/log
mysql:
image: mysql # mysql 版本默认是8.0
container_name: mysql-srv
environment:
- MYSQL_ROOT_PASSWORD=123456
ports:
- "13306:3306"
volumes:
- ./runtime/data/mysql:/var/lib/mysql
restart: always
redis:
container_name: redis-srv
image: redis:4-alpine
ports:
- "16379:6379"
sysctls:
net.core.somaxconn: 65535
restart: always
~~~
>[success] 以上方式swoft安装后,一般默认会将`php bin/swoft http:start`作为容器的第一个进程,无法停止!这要的话不利于后期的手动启动服务。
>[danger]使用这种方式安装之后,默认情况下已做了源码同步。所以一般建议使用这种方式进行安装。
- 前言
- 第一部分:课程介绍
- 第二部分:docker的快速入门
- docker的安装
- docker的运行和配置
- docker操作过程中的常见问题
- Docker的常用命令
- 第三部分 Swoft的开发环境部署和工具的安装
- 第四部分:Swoft的安装和常见问题
- swoft的安装
- swoft代码同步
- Swoft的热重载
- swoft安装过程中的常见问题
- 第五部分:swoft的基础知识快速入门
- 目录结构
- 控制器
- 路由
- 配置
- 请求与响应
- 中间件
- 异常处理
- 视图
- Bean
- 数据库操作
- http-session
- 验证器
- 第六部分:实战
- Swoft的安装(本地)
- Swoft的环境部署
- 调整项目目录结构
- 前台页面部署
- 前台首页
- 引入前端资源
- 其它页面的引入
- 后台功能的实现
- 创建并连接数据库
- 管理员登录功能的实现
- 代码优化-函数
- 代码优化-全局异常处理
- 代码结构分层
- 完善管理员的登录功能
- 管理员密码修改功能的实现
- 管理员登录补充
- 站点配置功能的实现
- 后台菜单处理
- 课程管理功能
- 创建数据表并创建实体
- 实现课程的添加功能
- 文件上传
- 课程列表功能的实现
- 课程编辑功能的实现
- 课程的删除功能
- 课程推荐功能的实现
- 前台数据调用