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安装
MariaDB是MySQL的一个分支。 MySQL --> SUN --> Oracle facebook
维基百科: https://zh.wikipedia.org/wiki/MariaDB#cite_note-103_release-21
下载:
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 解压:
解压 .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
压缩并打包: tar zcvf 123.tar.gz 123/ tar jcvf 123.tar.bz2 123/ 如何验证一条命令是否正常?
敲完这条命令之后,马上运行 echo $? ,看其输出是否是0,如果是非0说明你这个命令有错误。 错误:
error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
解决: yum install -y libaio libaio-devel
服务管理:
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'