从零开始搭建LAMP环境-Centos 8.1+Apache 2.4+Php 7.2+MariaDB 10.3-从零搭建建站环境-Php7.2敲击简单安装pdo-mysql

    技术2025-07-31  14

    备注:以下代码均在bash中运行测试成功过

    LAMP

    Linux Apache MariaDB(Mysql) Php 这里我采用的是PDO操作数据库

    Linux - Centos8

    这里采用的阿里云的云服务器,99一年的超轻量级入门玩耍机器。 初始化系统选择Centos - 8.1,设置密码即可

    检查系统版本

    cat /etc/redhat-release

    -CentOS Linux release 8.1.1911 (Core)

    Apache

    安装

    yum -y install httpd.*

    启动

    systemctl enable httpd #设置开机启动 systemctl start httpd #启动

    测试

    (有安全组配置的服务器请提前放行80端口,比如现在用的阿里云) 在浏览器地址栏输入服务器的公网IP,如果出现这玩意说明安装启动成功

    其它常用命令

    systemctl status httpd #查看Apache的状态,正常应该是 active (running) systemctl stop httpd #关闭Apache systemctl restart httpd #重启Apache apachectl -v #查看版本 apachectl -l #查看编译中就加载的模块 apachectl -t -D DUMP_MODULES #直接列出全部加载的模块

    安装PHP

    安装

    Centos 8.1默认的yum安装的是php7 而不是centos7 默认的 php5

    yum -y install php # 安装php-pdo-mysql的插件,不安装的话php是没有驱动操作数据库的 yum -y install php-pdo yum -y install php-pdo_mysql

    这里安装pdo、mysql驱动真的恶心。一大堆帖子将什么配置文件,浪费了我一天的时间-.- /(ㄒoㄒ)/~~

    测试

    查看php版本 php -v

    正常应该是这样子的

    PHP 7.2.24 (cli) (built: Oct 22 2019 08:28:36) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies phpinfo 查看php的相关配置信息 # 进入Apache的默认网站目录 cd /var/www/html #建立主页文件 vim index.php #按键盘的i进入写入模式,写入主页内容如下 <?php phpinfo(); ?> #按两次Esc后输入:wc保存退出 #重启apache服务 systemctl restart httpd

    然后在浏览器地址栏输入公网IP,出现这个页面则表示PHP和Apache正常工作

    安装Maria DB

    Centos默认支持的是MariaDB,作为mysql的替代品

    安装

    yum install -y mariadb-server

    配置

    #设置开机自启动 systemctl enable mariadb #开启 systemctl start mariadb

    密码初始化

    mysql_secure_installation

    1.回车后会要你输入数据库超级管理员root的密码,默认为空,回车即可 2.设置密码 回车 3.确认新密码 输入新密码 回车 4.确认新密码 再次输入新密码 回车 5.删除测试账户 回车 6.拒绝root远程登录 回车 7.删除测试数据库 回车 8.重启服务 回车

    登录测试

    mysql -uroot -p

    回车后输入密码(暗文不显示密码),输对了就会进入mysql,输错了重新输入mysql -uroot -p 继续尝试 成功登录之后是这个样子的 这里用建立一个远程root账户(密码为*-123456789*-)为例子

    Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is xx Server version: 10.3.17-MariaDB MariaDB Server Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. MariaDB [(none)]> grant all on *.* to root@'%' IDENTIFIED BY '*-123456789*-' with GRANT OPTION; MariaDB [(none)]> flush privileges; Query OK, 0 rows affected (0.000 sec) MariaDB [(none)]> \q Bye

    输入\q回车即可退出mysql

    编码设置

    由于MariaDB默认字符编码为latin1 ,如果使用默认编码的话会出现中文乱码问题.

    首先查看默认字符编码,然后把不是utf8的修改为utf8

    //查看当前编码 MariaDB [mysql]> show variables like 'character_set%';show variables like "%collation%"; +--------------------------+------------------------------+ | Variable_name | Value | +--------------------------+------------------------------+ | character_set_client | utf8 | | character_set_connection | utf8 | | character_set_database | latin1 | | character_set_filesystem | binary | | character_set_results | utf8 | | character_set_server | latin1 | | character_set_system | utf8 | | character_sets_dir | /usr/share/mariadb/charsets/ | +--------------------------+------------------------------+ 8 rows in set (0.001 sec) +----------------------+-----------------+ | Variable_name | Value | +----------------------+-----------------+ | collation_connection | utf8_general_ci | | collation_database | utf8_general_ci | | collation_server | utf8_general_ci | +----------------------+-----------------+ 3 rows in set (0.001 sec)

    (filesystem的编码不要改)我这里显示两个为latin1的,下面修改为utf8

    [root@ecs ~]# vim /etc/my.cnf.d ----- ./ auth_gssapi.cnf client.cnf enable_encryption.preset mariadb-server.cnf mysql-clients.cnf

    在client.cnf一行回车进入该区,在[client]下面按i建切入到输入模式加入一行 default-character-set=utf8,如下图

    [client] default-character-set=utf8 #This group is not read by mysql client library, -----

    输入完之后按Esc,输入:wq 保存退出 然后编辑mariadb-server.cnf,在[mysqld]下面按i建切入到输入模式加入一行 character-set-server = utf8,如下图

    [root@ecs ~]# vim /etc/my.cnf.d ---- mariadb-server.cnf //在这里回车 -------- [mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock log-error=/var/log/mariadb/mariadb.log pid-file=/run/mariadb/mariadb.pid character-set-server = utf8

    输入完之后按Esc,输入:wq 保存退出 随后重启数据库即可

    [root@ecs ~]# systemctl restart mariadb

    参考

    MariaDB https://www.cnblogs.com/yhongji/p/9783065.htmlhttps://blog.csdn.net/daijiguo/article/details/78102622https://hacpai.com/article/1582881912051Apahce模块 https://blog.csdn.net/qmhball/article/details/7631384Apache https://blog.csdn.net/xgrx2008/article/details/82715186
    Processed: 0.027, SQL: 9