CentOS 部署 Laravel 应用 记录

说明:仅做记录使用。
更多请参考 GucciLee

  • 准备工作
    $ lsb_release -a // 查看系统版本
    $ yum update // 升级所有包同时也升级软件和系统内核
    $ yum upgrade //只升级所有包,不升级软件和系统内核
  • 安装 Nginx
    $ yum install nginx 

    Linux 部署 Laravel 应用 记录

    出现 complete 即安装成功
    $ systemctl nginx start   # 启动 Nginx 
    $ systemctl nginx stop    # 停止 Nginx 
    $ systemctl nginx restart # 重启 Nginx
    $ systemctl enable nginx.service # 设置开机自启动
    $ systemctl disable nginx # 禁用 Nginx 开机启动
    $ systemctl list-dependencies | grep nginx # 检查开机自启动是否设置成功
  • 浏览器访问不成功 解决办法
    方法一: systemctl stop firewalld.service  # 关闭防火墙
    方法二: firewall-cmd --zone=public --add-port=80/tcp --permanent # 添加80端口
    firewall-cmd --reload # 重启防火墙
    firewall-cmd --list-ports # 查看是否添加成功
    1212/tcp 80/tcp # 显示 即成功 1212 设置的其他端口
    浏览器访问
    Welcome to nginx! # 成功显示
  • 安装 PHP
    $ yum install -y php72w php72w-cli php72w-fpm # PHP 自身 / cli PHP 的命令行接口 / 用于管理 PHP 进程,并提供 FastCGI 接口与 Nginx 交互
    $ yum install -y php72w-mbstring php72w-xml php72w-bcmath # 安装扩展 
    $ php -m # 查看扩展
    $ php -v # 查看 PHP 版本
    $ systemctl restart php-fpm # 重启 PHP-FPM 
    $ systemctl start php-fpm # 启动 PHP-FPM 
    $ systemctl stop php-fpm # 停止 PHP-FPM
    $ systemctl enable php-fpm # 启用 PHP-FPM 开机启动 
    $ systemctl disable php-fpm # 禁用 PHP-FPM 开机启动  
    $ ps aux | grep php # 确认 PHP-FPM 正常运行 
  • 安装 Git Composer
    Git
    ############################################
    $ yum install -y git
    $ git --version # 查看 git 版本
    # 生成 SSH 秘钥
    $ ls -al ~/.ssh # 查看是否 存在 `id_rsa` 与文件 `id_rsa.pub`
    $ ssh-keygen -t rsa -C "your_email@example.com" # 一路回车【密码为空】
    $ ls -al ~/.ssh # 再次查看是否生成成功
    $ cat ~/.ssh/id_rsa.pub # 查看公钥内容
    Composer
    ############################################
    $ php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"  # 或者使用 `$ wget -O composer-setup.php https://getcomposer.org/installer` $ php -r "if (hash_file('sha384', 'composer-setup.php') === 'a5c698ffe4b8e849a443b120cd5ba38043260d5c4023dbf93e1558871f1f07f58274fc6f4c93bcfd858c6bd0775cd8d1') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;" 
    $ php composer-setup.php --filename=composer --install-dir=/usr/local/bin --version=1.9.0 
    $ php -r "unlink('composer-setup.php');"  # 检查安装情况 
    $ composer --version # 淘宝全量镜像【https://learnku.com/composer/wikis/30594】 
    $ composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/  
  • 安装 MySQL
    $ rpm -ivh https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm # 安装 mysql 官方 yum 源
    $ yum list |  grep mysql # 查看 MySQL yum 源 发现只有 mysql80 的包,这是因为没有开启 mysql57 的包 
    $ yum-config-manager --disable mysql80-community # 关闭 80 包,开启 57 包
    $ yum-config-manager --enable mysql57-community # 遇到问题 yum-config-manager: command not found  解决 安装 yum -y install yum-utils
    $ yum list |  grep mysql # 发现有了 mysql57 的包
    $ yum install -y mysql-community-server # 安装 mysql
    $ yum install -y mysql-community-client # 根据需要安装(可不装)
    $ systemctl start mysqld # 启动 mysql
    $ systemctl stop mysqld # 停止 mysql
    $ service mysqld status # 或 ps -ef | grep mysql //检查mysql正常启动
    $ systemctl enable mysqld.service #设置mysqld服务开机自启动  
    $ systemctl list-dependencies | grep mysqld #检查mysqld开机自启动是否设置成功
    $ grep 'temporary password' /var/log/mysqld.log # 查看超级账户 root 临时密码 mysql5.7 增强了安全机制, 系统会自动生成一个随机的密码
    $ mysql  -uroot  -p
    mysql> ALTER USER "root"@"localhost" IDENTIFIED BY '你的新密码'; # 修改超级账户 root 密码
    mysql> flush privileges;
    mysql> exit;
    $ systemctl restart mysqld.service
  • 安装 Redis
    $ yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm 
    $ yum install -y redis $ cat /etc/redis.conf # 查看 redis 配置文件【根据需要自行修改】 
    $ systemctl start redis # 启动 redis 
    $ systemctl stop redis # 停止 redis 
    $ ps aux | grep redis # 查看 redis 启动情况 
    $ redis-cli # 进入 redis 交互命令 
    redis> keys * 
    redis>  exit  # 退出 
本作品采用《CC 协议》,转载必须注明作者和本文链接
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
讨论数量: 1

yum-config-manager --disable mysql80-community 为什么不用8.0的

4个月前 评论
莫名私下里 (楼主) 4个月前

请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!