LNMP:Linux + Nginx + MySQL/Mariadb + PHP
Nginx: 是一个WEB服务器,提供HTTP服务的。
MySQL/MariaDB: 是一个关系型数据,用来存数据的(用户名、密码、文章内容)
PHP:是一个编程语言,常用来做网站(qq.com baidu.com google.com ask.apelearn.com)
Nginx是一个WEB服务器,所以用户首先访问到的就是Nginx(静态的请求,会处理图片、js、css,
接收php的请求,但是不处理)把php的请求转给后面的php-fpm
php-fpm 会处理php相关的请求(叫做动态的请求)
动态、静态
所谓静态,指的是Nginx可以直接处理的图片、js、css、视频、音频、flash等等
所谓动态,指的是这些请求需要和数据库打交道。比如,用户登录过程,比如查看一篇文章,或者写一篇文章
Mariadb安装
官网地址下载:https://downloads.mariadb.org/
下载安装包:
wget https://mirrors.tuna.tsinghua.edu.cn/mariadb//mariadb-10.3.24/bintar-linux-x86_64/mariadb-10.3.24-linux-x86_64.tar.gz
解压安装包;
cd /usr/local/src/ (建议以后把安装包都下载到这个目录下面)
tar -xzvf mariadb-10.3.24-linux-x86_64.tar.gz
移动解压mariadb包到指定目录下;(移动前目标目录不能有相同文件名文件)
mv mariadb-10.3.24-linux-x86_64 /usr/local/mariadb
进入到mariadb进行数据库初始化生成数据库
cd /usr/local/mariadb/
初始化前需要提前创建datadir:数据库文件存放的地方;
建立mysql用户:启动mariadb的用户
mkdir -p /data/mariadb 创建datadir,数据库存放位置
useradd -s /sbin/nologin mysql 创建mysql用户
chown -R mysql:mysql /data/mariadb 更改属主和属组是mysql用户
进行初始化
./scripts/mysql_install_db --user=mysql --datadir=/data/mariadb
--user 表示定义数据库的以哪个用户的身份运行
--datadir 表示定义数据库的安装目录
执行完成后用echo $? 进行验证,结果为0就是正常,结果非0则执行命令结果有误
配置mariadb
复制服务脚本到/etc/init.d目录下
cp support-files/mysql.server /etc/init.d/mysqld
编辑启动服务mysqld,指定datadir和basedir(数据包存放的地方)
vim /etc/init.d/mysqld
basedir=/usr/local/mariadb
datadir=/data/mariadb
编辑配置文件my.cnf,指定datadir,socket,log-error,pid-file
Socket:定义mysql服务监听的套接字地址
Log-error:错误日志
vim /etc/my.cnf
[mysqld]
datadir=/data/mariadb
socket=/tmp/mysql.sock
[mysqld_safe]
log-error=/data/mariadb/mariadb.log
pid-file=/data/mariadb/mariadb.pid
服务管理:
CentOS6: chkconfig --list //列出系统所有的服务
CentOS7: systemctl list-unit-files
6: chkconfig --add mysqld //增加服务到列表,前提是mysqld文件需要在/etc/init.d/下,并且权限755
6:chkconfig mysqld on //让其开机启动
6:/etc/init.d/mysqld start == service mysqld start
ps aux | grep mysqld 查看服务是否启动
netstat -nltp 查看3306端口是否开启
Mariadb 登录
/usr/local/mariadb/bin/mysql -uroot
可以创建软链接:
ln -s /usr/local/mariadb/bin/mysql /usr/bin/mysql
mysql -uroot
也可以定义环境变量
临时定义环境变量:
export PATH=$PATH:/usr/local/mariadb/bin/
echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/mariadb/bin/
永久定义环境变量:
vim /etc/profile
增加代码
export PATH=$PATH:/usr/local/mariadb/bin/
source /etc/profile 文件生效
设定数据库登录密码(默认是没有密码的):
mysqladmin -uroot password ‘admin123‘
mysql -uroot -padmin123 -u 指定用户 -p 后面跟密码