centos7 + openresty+php73+mysql搭建

目录

一、openresty安装

二、安装php73

三、安装mysql

安装前清理工作;

安装msyql

四、安装redis、swoole扩展

php安装redis报错undefined symbol: php_json_decode_ex


一、openresty安装

1)、通过在CentOS 系统中添加 openresty 仓库,便于未来安装或更新我们的软件包(通过 yum update 命令)

yum install yum-utils

yum-config-manager --add-repo https://openresty.org/package/centos/openresty.repo

 2)、安装openresty

yum install openresty

   3)、安装命令行工具 resty

yum install openresty-resty

命令行工具 opm 在 openresty-opm 包里,而 restydoc 工具在 openresty-doc 包里头。

 4)、查看openresty 仓库里头的软件包

yum --disablerepo="*" --enablerepo="openresty" list available

 至此安装成功,默认安装在  /usr/local/openresty 

5) 建立软连接

ln -s /usr/local/openresty/nginx/sbin/nginx

#操作指令
openresty -s reload 重启openresty
openresty -v 查看openresty版本
openresty -V 查看openresty安装信息

6)测试,输入ip地址查看

二、安装php73

1) 、首先安装 EPEL 源: 

yum install epel-release
# Extra Packages for Enterprise Linux 。EPEL是一个比官方rpm包更丰富、版本相对更高的额外第三方源。 

2)、安装 REMI 源:

yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm
# 除了EPEL源之外还有REMI的源。它包含最新版本 PHP 和 MySQL 包

3)、安装 Yum 源管理工具:(如前面有安装可忽略)

yum install yum-utils
# 维护YUM并提高其性能的工具

4)、安装php73:

yum --enablerepo=remi-php73 install php
 # yum --enablerepo=[repo]   启用一个或多个软件源(支持通配符)

5)、安装常用扩展:

yum --enablerepo=remi-php73 install php-xml php-soap php-xmlrpc php-mbstring php-json php-gd php-mcrypt php-devel php-mysql php-gd php-bcmath php-pdo php-pecl-imagick php-fpm -y
 # 卸载命令:yum --enablerepo=remi-php73 remove xxx xxx ..

6)、开启php:

systemctl start php-fpm

7)、查看php版本:

php -v

三、安装mysql

安装前清理工作;

1.1.1 清理原有的mysql数据库;

使用以下命令查找出安装的mysql软件包和依赖包:

rpm -qa | grep mysql

显示结果如下:

mysql80-community-release-el7-1.noarch

mysql-community-server-8.0.11-1.el7.x86_64

mysql-community-common-8.0.11-1.el7.x86_64

mysql-community-libs-8.0.11-1.el7.x86_64

mysql-community-client-8.0.11-1.el7.x86_64

使用以下命令依次删除上面的程序

yum remove mysql-xxx-xxx-

删除mysql的配置文件,卸载不会自动删除配置文件,首先使用如下命令查找出所用的配置文件;

find / -name mysql

可能的显示结果如下:

/etc/logrotate.d/mysql

/etc/selinux/targeted/active/modules/100/mysql

/etc/selinux/targeted/tmp/modules/100/mysql

/var/lib/mysql

/var/lib/mysql/mysql

/usr/bin/mysql

/usr/lib64/mysql

/usr/local/mysql

根据需求使用以下命令 依次 对配置文件进行删除

rm -rf /var/lib/mysql

安装msyql

1.2.1 下面mysql官网提供的mysql repo源

centos的yum 源中默认是没有mysql的,所以我们需要先去官网下载mysql的repo源并安装;

mysql官网下载链接:mysql repo下载地址 如下:

或者执行命令下载YUM源rpm安装包:

wget https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm

1.2.2 安装 yum repo文件并更新 yum 缓存

rpm -ivh mysql80-community-release-el7-1.noarch.rpm 

执行结果:

会在/etc/yum.repos.d/目录下生成两个repo文件mysql-community.repo mysql-community-source.repo 

更新 yum 命令

yum clean all
 
yum makecache

1.2.3 使用 yum安装mysql

当我们在使用yum安装mysql时,yum默认会从yum仓库中安装mysql最新的GA版本;如何选择自己的版本;

第一步: 查看mysql yum仓库中mysql版本,使用如下命令

yum repolist all | grep mysql

可以看到 MySQL 5.5 5.6 5.7为禁用状态 而MySQL 8.0为启用状态;

如果您不想安装mysql8.0的版本我们可以按下面操作去做,要是安装的mysql8.0版本这步可以略过。

使用 yum-config-manager 命令修改相应的版本为启用状态最新版本为禁用状态:

yum-config-manager --disable mysql80-community
 
yum-config-manager --enable mysql57-community

或者可以编辑 mysql repo文件,将相应版本下的enabled改成 1 即可:

cat /etc/yum.repos.d/mysql-community.repo 

 1.2.4 安装mysql 命令如下:

yum install mysql-community-server


1.2.5 开启mysql 服务

systemctl start mysqld.service

1.2.6 获取初始密码登录mysql

mysql在安装后会创建一个root@locahost账户,并且把初始的密码放到了/var/log/mysqld.log文件中;

cat /var/log/mysqld.log | grep password

使用初始密码登录mysql

mysql -u root -p 

修改初始密码:所以刚开始设置的密码必须符合长度,且必须含有数字,小写或大写字母,特殊字符。

ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';

创建远程连接

create user 'admin'@'%' identified by '123456';

grant all on *.* 'admin'@'%' with grant option;

flush privileges;

注意:

如果遗忘了mysql登录密码,怎么办?

1、检查mysql服务是否启动,如果启动,关闭mysql服务

运行命令:ps -ef | grep -i mysql

如果开着就运行关闭的命令:service mysqld stop

2.修改mysql的配置文件my.conf

一般在/etc目录下,运行命令:vi /etc/my.cnf,编辑文件,在文件的[mysqld]标签下添加一句:skip-grant-tables,然后wq!保存退出。

 3.重启数据库

 运行命令:service mysqld start

 4.将旧密码置空

mysql -u root -p    //提示输入密码时直接敲回车。

//选择数据库

use mysql;

//将密码置空

update user set authentication_string = '' where user = 'root';

//退出

quit;

 5.去除免密码登陆

删掉步骤1的语句  skip-grant-tables

重启服务  service mysqld restart

6、修改密码

mysql -u root -p  //提示输入密码时直接敲回车,刚刚已经将密码置空了

ALTER USER 'root'@'localhost' IDENTIFIED BY 'abc123@xxx';//'abc123@xxx'  密码形式过于简单则会报错

密码策略问题异常信息:
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

解决办法:

1、查看 mysql 初始的密码策略,输入语句 “ SHOW VARIABLES LIKE 'validate_password%'; ” 进行查看,如下图:

2、首先需要设置密码的验证强度等级,设置 validate_password_policy 的全局参数为 LOW 即可,输入设值语句 “ set global validate_password.policy=LOW; ” 进行设值 

3、当前密码长度为 8 ,如果不介意的话就不用修改了,按照通用的来讲,设置为 6 位的密码,设置 validate_password_length 的全局参数为 6 即可,输入设值语句 “ set global validate_password.length=6; ” 进行设值

4、现在可以为 mysql 设置简单密码了,只要满足六位的长度即可,输入修改语句 “ ALTER USER 'root'@'localhost' IDENTIFIED BY 'binleen'; ” 可以看到修改成功,表示密码策略修改成功了!!! 

关于 mysql 密码策略相关参数;


1)、validate_password.length  固定密码的总长度;
2)、validate_password.dictionary_file 指定密码验证的文件路径;
3)、validate_password.mixed_case_count  整个密码中至少要包含大/小写字母的总个数;
4)、validate_password.number_count  整个密码中至少要包含阿拉伯数字的个数;
5)、validate_password.policy 指定密码的强度验证等级,默认为 MEDIUM;


关于 validate_password.policy 的取值:
0/LOW:只验证长度;
1/MEDIUM:验证长度、数字、大小写、特殊字符;
2/STRONG:验证长度、数字、大小写、特殊字符、字典文件;
6)、validate_password_special_char_count 整个密码中至少要包含特殊字符的个数;

四、安装redis、swoole扩展

1、安装pecl

wget http://pear.php.net/go-pear.phar -O go-pear.php

php go-pear.php

##回车默认安装

# 安装编译依赖
yum -y install gcc gcc-c++  make cmake automake autoconf

2、pecl自动安装redis、swoole

yum install GeoIP-devel GeoIP-data

pecl install igbinary

pecl install redis

pecl install swoole

如需卸载,可以执行如下命令
# pecl uninstall redis
Build process completed successfully
Installing '/usr/lib64/php/modules/igbinary.so'
Installing '/usr/include/php/ext/igbinary/php_igbinary.h'
Installing '/usr/include/php/ext/igbinary/igbinary.h'
Installing '/usr/include/php/ext/igbinary/src/php7/php_igbinary.h'
Installing '/usr/include/php/ext/igbinary/src/php7/igbinary.h'
install ok: channel://pecl.php.net/igbinary-3.1.2
configuration option "php_ini" is not set to php.ini location
You should add "extension=igbinary.so" to php.ini

.
.
.
Build process completed successfully
Installing '/Applications/MAMP/bin/php/php7.3.1/lib/php/extensions/no-debug-non-zts-20180731/redis.so'
install ok: channel://pecl.php.net/redis-4.3.0
configuration option "php_ini" is not set to php.ini location
You should add "extension=redis.so" to php.ini

最后,需要在 php.ini 配置文件里添加如下信息,然后重启 php-fpm

[Igbinary]
extension_dir="/usr/lib64/php/modules/"
extension=igbinary.so 

[Redis]
extension_dir="/usr/lib64/php/modules/"
extension=redis.so  

[Swoole]
extension_dir="/usr/lib64/php/modules/"
extension=swoole.so 

systemctl   restart    php-fpm

php安装redis报错undefined symbol: php_json_decode_ex

原因是 包含redis扩展之前要先包含json扩展。。。。

extension=json.so
[Igbinary]
extension_dir="/usr/lib64/php/modules/"
extension=igbinary.so

[Redis]
extension_dir="/usr/lib64/php/modules/"
extension=redis.so

[swoole]
extension_dir="/usr/lib64/php/modules/"
extension=swoole.so

注:php7.3 按照最新版redis扩展,报错redis.so无法加载的解决方法

1、下载redis4.2版本:wget http://pecl.php.net/get/redis-4.2.0.tgz

2、解压:tar -zxvf redis-4.2.0.tgz

3、切换到源码目录下,执行phpize

4、添加php-config配置

5、执行编译命令 make && make install

6、安装完成后,在php.ini配置文件中添加

[Redis]
extension_dir="/usr/lib64/php/modules/"
extension=redis.so

[root@wf ~]# wget http://pecl.php.net/get/redis-4.2.0.tgz
[root@wf ~]# tar -zxvf redis-4.2.0.tgz
[root@wf ~]# whereis phpize
phpize: /usr/bin/phpize
[root@wf ~]# whereis php-config
php-config: /usr/bin/php-config
//到源码目录
[root@wf redis-4.2.0]# /usr/bin/phpize
[root@wf redis-4.2.0]# ./configure --with-php-config=/usr/bin/php-config
[root@wf redis-4.2.0] make && make install

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值