LNMP之mysql与php的安装

LNMP架构介绍

  • 和LAMP唯一不同的是,LNMP中指的是Ngix(类似于Apache的一种Web服务软件。

  • Ngix设计的初衷是提供一种快速、高效、多并发的Web服务软件。

  • 在静态页面的处理上,Ngix比Apache更好一些,但是在动态页面的处理上,Ngix并不比apache有优势。

  • Ngix提供web服务,并且php是作为一个独立服务存在的,这个服务叫做php-fpm

  • Ngix直接处理静态请求,动态请求会转发给php-fpm

  • 它们之间的关系
    这里写图片描述


MySQL安装

安装过程

由于之间已经搭建过了LAMP环境,那么现在安装mysql是需要删除之前的安装目录/usr/local/mysql和启动脚本/etc/init.d/mysqld

1 . cd usr/local/src目录下

2 . 下载源码包

wget http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.35-linux-glibc2.5-x86_64.tar.gz 
 

3 . tar zxvf mysql-5.6.35-linux-glibc2.5-x86_64.tar.gz

4 . mv命令将解压缩后的目录移动并改名

mv mysql-5.6.36-linux-glibc2.5-x86_64  /usr/local/mysql  //在mv之前/usr/local/下是不能存在mysql目录的

5 . 切换到mysql目录下,使用ls命令查看是否存在多个子目录以及2个文件

6 .需要创建mysql用户和/data/目录

useradd   mysql //创建用户为mysql
mkdir /data/    //创建此目录

7 .初始化的过程是为了mysql启动所需要的目录生成。

./scripts/mysql_install_db --user=mysql --datadir=/data/mysql   //前面是指定用户,后面是指定安装目录。

如果提示-bash: ./scripts/mysql_install_db: /usr/bin/perl: 坏的解释器: 没有那个文件或目录

yum  install   -y   perl-Data-Dumper

如果提示Installing MySQL system tables..../bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory

 yum install  -y   libaio-devel

完成后可以看过程中是否出现2次OK ,或执行echo $?命令来查看结果是否为0。0表示正确,1表示有错误。

8 .拷贝配置文件

cp support-files/my-default.cnf   /etc/my.cnf 

如果系统中已经有了/etc/my.cnf,可以不用拷贝。直接修改为如下这样即可
这里写图片描述

9 .拷贝启动脚本

cp support-files/mysql.server  /etc/init.d/mysqld

再编辑/etc/init.d/mysql,定义2个地方即可
这里写图片描述

10 启动服务

/etc/init.d/mysqld start 

11 查看服务是否已启动,可以查看进程

ps aux |grep mysqld

查看端口

netstat  -lntp 

12 . 将mysql加入到开机自启动服务列表中

systemctl    enable   mysqld

设置为开机启动

chkconfig  mysqld  on 
  1. 启动与停止命令
service mysqld stop 
service mysqld start 
  1. 可能因安装的版本不同,正常安装、修改配置文件后,启动报以下错误:
[root@zcy02 mysql]# /etc/init.d/mysqld  start 
Starting MySQL.201127 08:26:10 mysqld_safe error: log-error set to '/var/log/mariadb/mariadb.log', however file don't exists. Create writable for user 'mysql'.
 ERROR! The server quit without updating PID file (/data/mysql/zcy02.pid).

解决办法:

[root@zcy02 mysql]# mkdir /var/log/mariadb
[root@zcy02 mysql]# cd !$
cd /var/log/mariadb
[root@zcy02 mariadb]# touch mariadb.log
[root@zcy02 mariadb]# chown -R mysql:mysql /var/log/mariadb/
[root@zcy02 mariadb]# /etc/init.d/mysqld  start 
Starting MySQL........ SUCCESS! 

php安装

这里和LAMP的安装方法是有差异的,需要开启php-fpm服务的。在LNMP中PHP是独立的服务,与Ngix是没有关系的。

安装过程 :
  1. 切换到/usr/local/src目录下

  2. 下载php软件包(直接wget可能会比较慢,可用迅雷下载后上传到目录下)

      http://mirrors.sohu.com/php/php-7.3.24.tar.gz
    
  3. 解压缩

    tar -jxvf php-5.6.30.tar.bz2
    
  4. 切换到php-5.6.30目录下,如果之前编译过了,可以使用make clean命令来恢复到刚解压后的一个状态。

  5. 执行以下命令

    [root@chunt php-5.6.30]# ./configure --prefix=/usr/local/php-fpm --with-config-file-path=/usr/local/php-fpm/etc --enable-fpm --with-fpm-user=php-fpm --with-fpm-group=php-fpm --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-pdo-mysql=/usr/local/mysql --with-mysql-sock=/tmp/mysql.sock --with-libxml-dir --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --with-iconv-dir --with-zlib-dir --with-mcrypt --enable-soap --enable-gd-native-ttf --enable-ftp --enable-mbstring --enable-exif --with-pear --with-curl --with-openssl
    

    在过程中根据提示需要可能需要以下几个包

 yum install -y  perl-Module-Install   pcre pcre-devel   libxml2-devel  openssl-devel   bzip2-devel   ibpng-devel  freetype-devel  epel-release   libmcrypt-devel    libcurl-devel   libjpeg-deve
  1. 执行make && make install

  2. 在/usr/local/php-fpm/下的sbin下有一个php-fpm的文件,该文件用来启动php-fpm服务的。
    在/usr/local/php-fpm/var下有一个log(存放日志)和一个run(存放
    pid)

  3. /usr/local/php-fpm/sbin/php-fpm -m/usr/local/php-fpm/bin/php -m
    显示的信息是一样的,也可以加上-i选项。其中/usr/local/php-fpm/sbin/php-fpm -t /测试配置文件语法的。

  4. 配置文件

  cp php.ini-production  /usr/local/php-fpm/etc/php.ini
  1. 切换到cd /usr/local/php-fpm/etc下去,创建php-fpm.conf并写入以下内容。
[global]     //定义全局参数
pid = /usr/local/php-fpm/var/run/php-fpm.pid 
error_log = /usr/local/php-fpm/var/log/php-fpm.log  
[www]   //模块名字
listen = /tmp/php-fcgi.sock //监听的地址
listen.mode = 666  //定义sock文件权限
user = php-fpm 
group = php-fpm  
pm = dynamic
pm.max_children = 50
pm.start_servers = 20
pm.min_spare_servers = 5
pm.max_spare_servers = 35
pm.max_requests = 500
rlimit_files = 1024

12 .切换到/usr/local/src//php-5.6.30下

 cp sapi/fpm//init.d.php-fpm  /etc/init.d/php-fpm 

修改权限为755 chmod 755 /etc/init.d/php-fpm

加入服务列表,并设置为开机启动。

chkconfig --add php-fpm


chkconfig    php-fpm on

13 创建php-fpm用户

useradd   php-fpm

14 启动服务

service php-fpm  start //启动
Starting php-fpm  done  //启动成功
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值