LNMP环境介绍
LNMP环境
Linux+Nginx+MySQL/Mariadb+PHP
Nginx:是一个web服务器,提供HTTP服务的
Mysql/MariaDB:是一个关系型数据库,用来存数据的(用户名、密码。文章内容)
图片是存在服务器里,通过Nginx访问
PHP:是一种编程语言,常用来做网站(qq.com baidu.com Google.com)
Nginx是一个Web服务器,所以用户首先访问到的就是Nginx(静态的请求,会处理图片、js、css,接受php的请求,但是不处理),把php的请求转给后面的php-fpm
php-fpm 会处理php相关的请求(叫做动态的请求)
动态、静态
所谓静态,指的是Nginx可以直接处理的图片、js、css、视频、音频、flash等等;
所谓动态,指的是这些请求需要和数据库打交道。比如,用户登录过程,比如查看一篇文章,或者写一篇文章。
MariaDB数据库安装
MariaDB是MySQL的一个分支。 MySQL --> SUN --> Oracle facebook
维基百科: https://zh.wikipedia.org/wiki/MariaDB#cite_note-103_release-21
MariaDB的官网:https://mariadb.org/
下载版本10.3.11
安装wget命令
yum install -y wget
使用wget命令下载 mariadb 二进制包
下载路径:http://mirrors.neusoft.edu.cn/mariadb//mariadb-10.3.11/bintar-linux-x86_64/mariadb-10.3.11-linux-x86_64.tar.gz
所有源码推荐下载目录:/usr/local/src
下载完成后解压文件
解压
解压 .tar.gz: tar zxvf xxxx.tar.gz z 相对于针对gz压缩 gzip 1.txt ; gzip -d 1.txt.gz
解压 .tar.bz2: tar jxvf xxxx.tar.bz2 j 相对于针对bz2压缩 bzip2 1.txt ; bzip2 -d 1.txt.bz2
解压 .tar.xz tar Jxvf xxxx.tar.xz J 相对于针对xz压缩 xz 1.txt ; xz -d 1.txt.xz
gzip系统已经默认安装,bzip2和xz需要使用yum安装
压缩并打包:
tar zcvf 123.tar.gz 123/
tar jcvf 123.tar.bz2 123/
解压完成后,将解压的二进制文件夹移动至/usr/local/mysql
挪位置并改名
mv mariadb-10.3.11-linux-x86_64 /usr/local/mysql
查看安装指南,按照安装指南进行安装
less INSTALL-BINARY
新建数据目录
mkdir /data/mysql
没有那个文件或目录
ls /data/
没有那个文件或目录
mkdir -p /data/mysql #级联创建目录
更改启动脚本
更改mysql配置
安装过程:
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 zxf mariadb-10.3.11-linux-x86_64.tar.gz
mv mariadb-10.3.11-linux-x86_64 /usr/local/mysql
mkdir -p /data/mysql
useradd -M -s /sbin/nologin mysql
chown -R mysql:mysql /data/mysql
cd /usr/local/mysql
./scripts/mysql_install_db --datadir=/data/mysql --user=mysql
cp support-files/mysql.server /etc/init.d/mysqld
vi /etc/init.d/mysqld
定义:basedir=/usr/local/mysql
datadir=/data/mysql
vi /etc/my.cnf
定义:datadir=/data/mysql;socket=/tmp/mysql.sock;log-error=/data/mysql/mariadb.log
pid-file=/data/mysql/mariadb.pid
查看服务: ps aux |grep mysql
查看监听端口:netstat -lnp //看是否有3306
服务管理
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
MySQL/MariDB连接
/usr/local/mysql/bin/mysql -uroot
直接敲mysql命令:ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql
系统环境变量PATH: 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 "aminglinux"
再次登录: mysql -uroot -paminglinux
mysql -uroot -paminglinux -S/tmp/mysql.sock
mysql -uroot -paminglinux -h192.168.222.128 -P3306
Alias别名
一条命令的另外一个名字,你可以理解为外号。
举例:
网卡配置文件路径很长,每次敲这个命令都要花很长时间,可以做一个别名:
alias viens33=‘vi /etc/sysconfig/network-scripts/ifcfg-ens33’
vi ~/.bashrc //针对当前用户的,换一个用户就不好使了
vi /etc/bashrc //针对所有用户,不仅仅是当前用户。
在这个文件最后面增加:alias viens33=‘vi /etc/sysconfig/network-scripts/ifcfg-ens33’