LNMP环境
- linux+Nginx+MySQL/Mariadb+PHP
- Nginx:是一个WEB服务器,提供HTTP服务的
- MySQL/Mariadb:是一个关系型数据库,用来存数据的。(用户名,密码,文章内容)
- PHP:是一个编程语言,常用来做网站(qq.com baidu.com google.com)
- Nginx是一个web服务器,所以用户首先访问到的就是nginx(静态的请求:会处理图片,js,css,接受php的请求,但是不处理)会把php的请求转给后面的php-fpm
- ph-fpm会处理php的相关请求(叫做动态请求)
- 动态和静态
- 静态:指的是nginx可以直接处理的图片,js,css,视频,音频,flash等等
- 动态:指的是这些请求需要和数据库打交道。比如用户登录过程,比如看一篇文章,或者写一篇文章。
MariaDB安装
- Mariadb是MySQL的一个分支。MySQL--->sun--->Oracle
- 官网:https://mariadb.org/
- 选好版本下载:cd /usr/local/src/ wget http://mirrors.neusoft.edu.cn/mariadb//mariadb-10.3.11/bintar-linux-x86_64/mariadb-10.3.11-linux-x86_64.tar.gz
- tar zxvf mariadb-10.3.11-linux-x86_64.tar.gz
- mv mariadb-10.3.11-linux-x86_64.tar.gz /usr/local/mysql(移动并修改名字为mysql,前提是local下没有mysql这个名字)
- mkdir -p /data/mysql (-p,实现级联创建,就算没有data,也可以创建data跟mysql)
- useradd -M -s /sbin/nologin mysql(-M不用创建用户家目录【/home/mysql】)【-s /sbin/nologin 用户不用登录,提高安全性】
- chown -R mysql:mysql /data/mysql
- cd /usr/local/mysql
- ./scripts/mysql_install_db --datadir=/data/mysql --user=mysql 【datadir=/data/mysql指定data目录在/data/mysql】【user=mysql指定user是mysql】
- 执行这条命令会出现错误:./bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
- 需要安装yum install -y libaio libaio-devel
- cp support-files/mysql.server /etc/init.d/mysqld(拷贝启动脚本并改名字为mysqld)
- vi /etc/init.d/mysql
- 定义 :basedir=/usr/local/mysql 【mysql程序所在目录】 datadir=/data/mysql【数据库所在路径】
-
vi /etc/my.cnf
-
定义:datadir=/data/mysql;=/tmp/mysql.sock;log-error=/data/mysql/mariadb.log【错误日志】pid-file=/data/mysql/mariadb.pid
-
-
查看服务:ps aux |grep mysql
-
查看监听端口:netstat -lnp //查看是否有3306
- 解压:
- 解压.tar.gz:tar zxvf xxx.tar.gz z相对于针对gz压缩 gzip 1.txt gzip -d 1.txt.gz
- 解压.tar.bz2:tar jxvf xxx.tar.bz2 j相对于针对bz2压缩 bzip2 1.txt bzip2 -d 1.txt.bz2
- 解压.tar.xz:tar Jxvf xxx.tar.xz J相对于针对xz压缩 xz 1.txt xz -d 1.txt.xz
- 压缩并打包:
- tar zcvf 123.tar.gz 123/
- tar jcvf 123.tar.bz2 123/
- 如何验证一条命令是否正常?
- 敲完命令之后,马上运行echo $?,看其输出是否为0,如果非0说明你这个命令有错误
服务管理
- centos6:chkconfig --list //列出系统所有的服务
- centos7:systemctl list-unit-files //列出系统所有的服务
- 6:chkconfig --add mysqld //增加服务列表,前提是mysqld文件在/etc/init.d/下,并且权限为755
- 6:chkconfig mysqld on //让其开机启动 off是关闭
- 6:/etc/init.d/mysqld start service mysqld start (都是用来启动mysqld程序的)会出错用systemctl status mysqld.service来看
MySQL/MariaDB连接
- /usr/local/mysql/bin/mysql -uroot
- 做软连接: ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql
- 系统环境变量:echo $PATH
- PATH的作用:可以直接用PATH这些路径里面的文件。不用敲绝对路径
- PATH=$PATH:/usr/local/mysql/bin
- echo “export PATH=$PATH:/usr/local/mysql/bin” >> /etc/profile 退出终端重新进,或者source /etc/profile 就可立即生效
- 设定密码:mysqladmin -uroot password "ady1"
- 再次登录:mysql -uroot -pady1
- mysql -uroot -pady1 -S /tmp/mysql.sock
- mysql -uroot -pady1 -h192.168.139.128 -p3306