# trip_php_backend **Repository Path**: theegg/trip_php_backend ## Basic Information - **Project Name**: trip_php_backend - **Description**: 基于php7的旅游站后台 - **Primary Language**: PHP - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2020-06-04 - **Last Updated**: 2024-04-23 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 部署环境 - ubuntu - 单机部署 #### 1. 更新软件源 sudo apt-get update #### 2. 安装常用工具 sudo apt-get install git #### 3. 系统设置 * 时区 * 最大可打开文件句柄数 #### 4. 添加用户和组 sudo groupadd www-data sudo useradd -g www-data -s /sbin/nologin www-data sudo usermod -a -G www-data lucas sudo usermod -a -G lucas www-data #### 5. nginx 1. sudo apt-get install nginx 2. 根据需求配置nginx参数 3. 虚拟机配置见目录 #### 6. 安装php 7.4 sudo apt-get install php7.4- // 扩展需符合laravel7 配置fpm(www.conf) 1. user=www-data 2. group=www-data 3. listen = 127.0.0.1:9000 // 稳定性好于unix socket 4. pm = dynamic // 默认即可,如果访问量大机器内存和CPU充足可以配置成static 5. pm.max_children = 50 // 按每个worker35M内存来算, 留够其他程序需要的内存, 注意观察CPU的消耗 6. php_flag[display_errors] = off 7. php_admin_value[error_log] = /var/log/fpm-php.www.log 8. php_admin_flag[log_errors] = on 9. php_admin_value[memory_limit] = 64M 配置php(php.ini) 1. expose_php = Off 2. display_errors = Off 3. log_errors = On 4. opcache.enable=1 #### 7. 安装mysql 1. sudo apt-get install mysql-client-5.7 mysql-server-5.7 2. 注意删掉多余的admin用户, 3. 修改默认用户密码 4. 如果云服务器, 注意时区的设置 5. 慢查询开启 #### 8. 安装node/npm/pm2 1. 如果用到消息推送 echo server 需要用到npm 2. pm2代替supervisor来管理cron #### 9. 安装redis 1. 下载redis并解压到/home/lucas/software/redis目录 2. 按说明安装 #### 10. install composer 1. 官网找下载脚本 2. copy到 /usr/bin 下, 并设置权限 3. 修改 composer 国内阿里镜像 #### 11. clone code 1. git clone xxxxxx 2. composer update 3. mv .env.example .env # 部署环境 - ubuntu - docker 开发环境部署 - 拉去docker-compose 配置目录 到/data/dockerspace - cd dockerspace - sudo docker-compose up -d --build // 会启动 fpm nginx mysql redis elastic kibana - 拉去 代码到 /data/www // 注意配置文件中项目目录名称为 trip - cd /data/www/trip - cp .env.example .env - compose update - php artisan migrate --seed - postman 测试 # 部署环境 - ubuntu - docker 线上部署 阿里云平台, 小项目没有用到编排系统 1. ec2 3台 4x16, 一台用来指定管理API和跑脚本 fpm worker : 最大200 2. polarDB 2台 4x16 MAX: QPS 2000 / TPS 800 3. redis 云redis集群 4. 图片服务器 NAS 5. CDN aliyun 全站/全球加速 # 参考 www.mk117.com admin.mk117.com