`
xieye
  • 浏览: 830802 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

召唤神龙 - 安装 centos 8, php 8, mysql 8, laravel 8 的整套 php 运行环境

    博客分类:
  • PHP
阅读更多
本文编写时间:2020-11-27


传说集齐龙珠可以召唤神龙

而使用 php 的常用开发框架 laravel 这一技术栈,大版本惊人的实现了统一,均为 8。centos 8, php 8, mysql 8, laravel 8。
(假装不知道 ubuntu )

用 linux 的好处是开发环境和部署环境高度统一,而 win 10 和 docker 的普及使得所有的 php 程序员可以轻易在 windows 电脑和 mac 电脑进行 linux 环境下的开发,同时阿里巴巴开源镜像站的存在使得安装本文全部软件所需时间仅需 2 分钟左右,已经方便的没法形容了。也是写这个系列文章的初衷。

以下列出这 4 类软件的大版本为 8 时的发行时间。
  软件   发行时间 本文当前安装版本
centos 8 2019-09-24 8.2
php 8 2020-11-26  8.0.0
mysql 8 2016-09-12  8.0.21
laravel 8 2020-09-08 8.16.1


首先,安装阿里的 centos 仓库。(centos 8)

curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-8.repo
rm -f  /etc/yum.repos.d/CentOS-centosplus.repo
rm -f  /etc/yum.repos.d/CentOS-PowerTools.repo
rm -f  /etc/yum.repos.d/CentOS-Extras.repo
rm -f  /etc/yum.repos.d/CentOS-AppStream.repo
dnf makecache
dnf repolist

安装阿里的 epel 仓库。(centos 8)

dnf install -y epel-release

sed -i 's|^#baseurl=https://download.fedoraproject.org/pub|baseurl=https://mirrors.aliyun.com|' /etc/yum.repos.d/epel*

sed -i 's|^metalink|#metalink|' /etc/yum.repos.d/epel*
dnf makecache
dnf repolist

安装阿里的 remi 的仓库(centos 8)
dnf install -y https://mirrors.aliyun.com/remi/enterprise/remi-release-8.rpm

sed -i  's/https*:\/\/rpms.remirepo.net/https:\/\/mirrors.aliyun.com\/remi/g'  /etc/yum.repos.d/remi*

sed -i 's/#baseurl/baseurl/g' /etc/yum.repos.d/remi*

sed -i 's|^mirrorlist|#mirrorlist|' /etc/yum.repos.d/remi*

dnf makecache
dnf repolist


安装 php 8(centos 8)

dnf install -y yum-utils

dnf install -y php80 php80-php-devel  php80-php-fpm  php80-php-mbstring php80-php-memcached php80-php-redis  php80-php-mysqlnd  php80-php-pdo  php80-php-bcmath php80-php-xml php80-php-gd php80-php-gmp php80-php-igbinary php80-php-imagick php80-php-pdo_mysql php80-php-posix php80-php-simplexml  php80-php-opcache php80-php-xsl php80-php-xmlwriter php80-php-xmlreader php80-php-swoole php80-php-zip  php80-php-yaml php80-php-uuid

安装阿里的 composer 镜像源(centos 8)

ln -s /usr/bin/php80 /usr/bin/php

curl -o /usr/local/bin/composer https://mirrors.aliyun.com/composer/composer.phar

chmod +x /usr/local/bin/composer

composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/


安装 nginx 并整合 php-fpm 服务(centos 8)

echo $'[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true ' > /etc/yum.repos.d/nginx.repo

dnf makecache
dnf install -y nginx
systemctl enable nginx
systemctl enable php80-php-fpm
sed -i 's/user\ =\ apache/user\ =\ nginx/g' /etc/opt/remi/php80/php-fpm.d/www.conf
sed -i 's/group\ =\ apache/group\ =\ nginx/g' /etc/opt/remi/php80/php-fpm.d/www.conf
sed -i 's/listen\ =\ \/var\/opt\/remi\/php80\/run\/php-fpm\/www.sock/listen=9000/g' /etc/opt/remi/php80/php-fpm.d/www.conf

rm -f /etc/nginx/conf.d/default.conf
vi /etc/nginx/conf.d/default.conf

/etc/nginx/conf.d/default.conf 文件内容如下:

server {
    listen       80;
    server_name  localhost;
    charset utf-8 ;
    access_log  /var/log/nginx/host.access.log  main;
    root   /www/blog/public;
    index index.php  index.html index.htm;
    error_page 404  500 502 503 504  /50x.html;
    location = /50x.html {
        root   /www/blog/public;
    }
    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }
    location ~ \.php$ {
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  $realpath_root$fastcgi_script_name;
        include        fastcgi_params;
    }
}


安装 mysql 8(centos 8)

实际也用了阿里的镜像,因为是从 AppStream 库下载的,速度极快。

dnf install -y @mysql
systemctl enable mysqld
systemctl start mysqld
mysql -uroot

mysql -uroot,这个命令是登录 mysql 服务用的。
进入后执行下面这个命令,创建一个空的数据库名叫 laravel,然后用 quit 退出。

create database laravel default charset utf8mb4;

安装 redis,git 以及其他常用库(centos 8)

dnf install -y  git wget vim redis zip unzip p7zip rsync crontabs supervisor net-tools python3
systemctl enable redis
systemctl start redis

安装 laravel 8(centos 8)

实际也用了阿里的镜像,因为 composer 镜像源已设置过。
假设项目名称叫 blog,安装在 /www 目录下

mkdir -p /www
cd /www
composer create-project --prefer-dist laravel/laravel blog "8.*"
rm -f ./blog/routes/web.php
vi ./blog/routes/web.php

<?php
use Illuminate\Support\Facades\Route;

Route::get('/', function () {
     ob_start();
     phpinfo(INFO_GENERAL);
     $s = ob_get_contents();
     ob_clean();
     $system = preg_replace( '#^.+?Build.System.</td><td class="v">([^<]+?)\<.+$#s','$1',$s );
     echo "operating system: ".$system."<br>\n";

     echo "php: ".phpversion()."<br>\n";

     echo "laravel: " . app()::VERSION."<br>\n";

     $dbversion = \DB::select("select version() v");
     echo "mysql: " . $dbversion[0]->v."<br>\n";
});



启动 php-fpm 和 nginx 并验证安装正确

systemctl start nginx
systemctl start php80-php-fpm

curl localhost/

就能看到类似下面的输出:

operating system : Red Hat Enterprise Linux release 8.2 (Ootpa) <br>
php : 8.0.0<br>
laravel: 8.16.1<br>
mysql: 8.0.21<br>

总结(centos 8)

感谢 php 开发组的努力,使得 php 在现代编程语言中保持了竞争力。
感谢阿里的开源镜像库









0
1
分享到:
评论

相关推荐

    Centos7镜像-百度网盘下载链接

    CentOS-7.2-x86_64-DVD-1511 CentOS-7.3-x86_64-DVD-1611 CentOS-7.4-x86_64-DVD-1708 CentOS-7.5-x86_64-DVD-1804 CentOS-7.6-aarch64-Everything-1810 CentOS-7.6-x86_64-DVD-1810 CentOS-7.7-x86_64-DVD-1908 ...

    适用于centos8的ntfs-3g离线rpm安装包

    从这些文件我们可以看出,为了在CentOS 8上安装并使用NTFS-3G,首先需要确保系统拥有兼容版本的glibc,因为它是很多程序运行的基础。接着,通过安装NTFS-3G的库文件和驱动程序,系统就能具备读写NTFS分区的能力。这...

    centos 7 MySQL8 离线一键自动安装脚本

    本文将详细讲解如何在CentOS 7上离线进行MySQL8的一键自动安装。 首先,离线安装意味着我们需要提前下载MySQL8的安装包,并通过本地文件进行部署,这通常适用于网络环境受限或安全性要求较高的场景。在CentOS 7上,...

    mysql8 centos离线安装

    在Linux环境中,特别是CentOS系统上,MySQL 8.0的离线安装是一个常见的需求,尤其是在没有网络连接或者网络环境不稳定的情况下。以下是如何利用提供的压缩包文件进行离线安装MySQL 8.0的详细步骤: 首先,我们看到...

    mysql8备份-centos8.zip

    在CentOS 8中,MySQL 8.0通常通过官方的YUM仓库进行安装。安装过程包括添加MySQL社区服务器的GPG密钥,配置YUM源,然后执行`yum install mysql-community-server`命令来安装服务。安装完成后,数据库服务可以通过`...

    CentOS 7 安装 MySQL

    CentOS 7 安装 MySQL

    centos7.9离线安装PHP环境依赖

    在Linux系统中,尤其是CentOS 7.9这样的企业级操作系统上,离线安装PHP环境依赖是一项关键任务,尤其在没有互联网连接或者网络环境受限的情况下。这篇文章将详细讲解如何在CentOS 7.9上离线安装PHP环境,以及所需的...

    CentOS 8 安装 MySql并设置允许远程连接的方法

    在Linux系统中,CentOS 8 是一个广泛使用的操作系统,尤其在服务器环境中。而MySQL作为一款流行的开源关系型数据库管理系统,对于许多应用来说是必不可少的。本教程将详细讲解如何在CentOS 8上安装MySQL并配置允许...

    CentOS8 mysql8.3.0安装包

    用于在CentOS8中安装mysql8.3.0的安装包

    离线安装git-1.8.3--centos7.6.1810

    本教程将详细讲解如何在CentOS 7.6.1810系统上离线安装Git 1.8.3。 首先,我们需要了解离线安装的概念。离线安装是指在没有网络连接的情况下,通过本地已有的软件包进行安装。这对于网络环境不稳定或者安全要求较高...

    CentOS Linux 8和CentOS Stream发行公告

    我们想宣布CentOS Linux 8和 所有架构上的新CentOS Stream。 ---------- CentOS Linux 8 这是CentOS Linux 8的第一个版本,版本标记为 8.0-1905,来自Red Hat发布的资源,通过 git.centos.org 首先,请仔细阅读发行...

    ansible-2.7.1 CentOS7离线安装全部包

    ansible-2.7.1 CentOS7离线安装全部包 ansible-2.7.1-1.el7.ans.noarch.rpm python-babel-0.9.6-8.el7.noarch.rpm python-jinja2-2.7.2-2.el7.noarch.rpm python-markupsafe-0.11-10.el7.x86_64.rpm python-paramiko...

    ARM架构 centos7 mysql8安装包

    arm架构centos7 下mysql8离线安装包 包含: mysql-community-client-8.0.20-1.el7.aarch64.rpm mysql-community-common-8.0.20-1.el7.aarch64.rpm mysql-community-devel-8.0.20-1.el7.aarch64.rpm mysql-community-...

    centos7.0安装mysql

    centos7.0安装mysql centos7.0安装mysql centos7.0安装mysql

    CENTOS8安装SDL2所需文件

    3. **CentOS-Base.repo**:这可能是用于恢复或更新CENTOS8系统的基础仓库文件。在安装非官方库时,有时可能需要确保基础仓库是最新状态,以避免冲突。 4. **SDL2_ttf-2.20.2-1.el8.x86_64.rpm** 和 **SDL2_ttf-...

    MySQL安装-在centos7下安装mysql服务mariadb版本

    ### MySQL在CentOS 7下的Mariadb版本安装与配置 #### 一、环境准备与确认 在进行MySQL(这里指的是MariaDB)的安装之前,确保你的CentOS 7系统已经更新到最新状态,并且没有安装过任何MySQL或MariaDB相关的服务。 ...

    centos7 安装mysql和mysqlclient遇到的坑总结

    在CentOS7上安装MySQL和mysqlclient可能会遇到一些挑战,本文将总结这些常见的问题和解决方案。首先,我们需要为系统添加MySQL的Yum源以便能够安装MySQL的社区版本。可以通过访问MySQL官方网站的DOWNLOADS部分,找到...

    Centos 5.5 Nginx+php+mysql成功安装案例

    在CentOS 5.5操作系统中,安装Nginx、PHP和MySQL的组合是一个常见的任务,这个过程可以分为几个关键步骤。以下是一个详细的指南,涵盖了从安装基础环境到配置服务的整个过程。 首先,我们需要确保系统中安装了必要...

    centos 6 安装 mantisbt-1.2.8 -- centos 7 安装 mantisbt-2.12.0.zip

    内容: 1、centos 6 安装 mantisbt-1.2.8 ; 2、 centos 7 安装 mantisbt-2.12.0.zip 3、mantisbt-2.12.0.tar.gz包; 4、MySQL-5.5.59-1.el7.x86_64.rpm-bundle.tar包

Global site tag (gtag.js) - Google Analytics