欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

centos7 使用阿里镜像快速安装php7.4套件

程序员文章站 2022-05-31 09:12:38
...
本文只考虑centos7

今日 2020-11-16
remi 不支持最新的7.9,但是从centos7.0到centos7.8,remi都能很好支持。
remi是一个php安装仓库。是rpm包。

用了国内镜像会速度极快,下载包的速度:3MB/秒,惊人的快!
无论docker还是linux环境都非常的快!!
经实测,全部安装时间大约3到5分钟,主要取决于mysql 8 的安装时间。

本文各软件版本
centos 7
php 7.4.12
nginx 1.18
mysql 8.0.22
redis 6.0.9
git 2.24.3

首先,安装阿里的centos仓库。
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
sed -i -e '/mirrors.cloud.aliyuncs.com/d' -e '/mirrors.aliyuncs.com/d' /etc/yum.repos.d/CentOS-Base.repo
yum makecache
yum repolist

然后安装 阿里的epel仓库。
curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

yum makecache
yum repolist


然后安装阿里的remi的仓库
yum install -y https://mirrors.aliyun.com/remi/enterprise/remi-release-7.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*

yum makecache
yum repolist

yum -y install yum-utils

查找可安装的php74组件,无需执行
((yum list|grep  php74))

安装php
yum-config-manager --enable remi-php74

yum install -y php74 php74-php-devel  php74-php-fpm  php74-php-mbstring php74-php-memcache php74-php-memcached php74-php-redis  php74-php-mysqlnd  php74-php-pdo  php74-php-bcmath php74-php-xml php74-php-gd php74-php-gmp php74-php-igbinary php74-php-imagick   php74-php-mcrypt  php74-php-pdo_mysql php74-php-posix php74-php-simplexml  php74-php-opcache php74-php-xsl php74-php-xmlwriter php74-php-xmlreader php74-php-swoole php74-php-zip php74-php-phalcon  php74-php-yaml php74-php-yar php74-php-yaf php74-php-uuid

体验到快如闪电的速度了吧!

安装阿里的 composer 镜像源
ln -s /usr/bin/php74 /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 1.18 并整合 php-fpm 服务
下面这个echo是一句命令,得一起复制
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

上面是一条echo命令。

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

rm -f /etc/nginx/conf.d/default.conf
vi /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   /usr/share/nginx/html;
    index index.php  index.html index.htm;
    error_page 404  500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }
    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;
    }
}

vi /usr/share/nginx/html/1.php

<?php
phpinfo();

systemctl start nginx
systemctl start php74-php-fpm

curl localhost/1.php

如果能看到很多的大量输出,说明php和nginx正确安装了。

安装mysql 8
yum remove -y mysql mysql-server mysql-libs

rpm -Uvh https://repo.mysql.com/mysql80-community-release-el7-3.noarch.rpm
sed -i 's/enabled=1/enabled=0/' /etc/yum.repos.d/mysql-community.repo

下面这句安装mysql服务,因为总下载大约530M,没有办法,时间大概3到5分钟左右。

yum --enablerepo=mysql80-community install mysql-community-server

systemctl enable mysqld
systemctl start mysqld

查看初始密码:
grep 'temporary password' /var/log/mysqld.log

用查看到的密码进入mysql 的 shell
mysql -uroot -p

整套设置新用户流程,先改初始,再加新用户并授权,再删除老用户。
set global validate_password.policy=LOW;
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'aaaa1234';
flush privileges;
create user 'root'@'%' identified by 'root1234';
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root1234';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';
drop user root@localhost;
flush privileges;

退出shell,重新进入。

现在就可以直接进入shell
mysql -uroot -proot1234

这句话查看用户的加密方式。
select user, host, plugin from mysql.user\G;

plugin: caching_sha2_password 表示老的MySQL客户端无法连接!


安装 阿里镜像源ius 内的 git
安装这个的理由是centos7 带的git 大版本是 1,真的太老了。
yum remove -y git
yum install -y https://mirrors.aliyun.com/ius/ius-release-el7.rpm
sed -i  's/https:\/\/repo.ius.io/https:\/\/mirrors.aliyun.com\/ius/g'  /etc/yum.repos.d/ius*
yum makecache
yum install -y git224
git config --global core.autocrlf false
git config --global core.safecrlf false

安装redis 6 以及其他常用库


yum --enablerepo=remi install -y redis

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

总结

用了国内镜像会速度极快,下载包的速度:3MB/秒,惊人的快
mysql安装有时也非常快,有时慢。