千家信息网

LNMP架构、工作模式及MySQL、PHP安装介绍

发表于:2024-10-19 作者:千家信息网编辑
千家信息网最后更新 2024年10月19日,下文内容主要给大家带来LNMP架构、工作模式及MySQL、PHP安装介绍,所讲到的知识,与书籍略有不同,都是专业技术人员在与用户接触过程中,总结出来的,具有一定的经验分享价值,希望给广大读者带来帮助。
千家信息网最后更新 2024年10月19日LNMP架构、工作模式及MySQL、PHP安装介绍

下文内容主要给大家带来LNMP架构、工作模式及MySQL、PHP安装介绍,所讲到的知识,与书籍略有不同,都是专业技术人员在与用户接触过程中,总结出来的,具有一定的经验分享价值,希望给广大读者带来帮助。

LNMP 架构介绍

LNMP代表的就是:Linux系统下Nginx+MySQL+PHP这种网站云服务器架构。Nginx中的PHP是以fastcgi的方式结合Nginx的,可以理解为Nginx代理了PHP的fastcgi。

  • LNMP 工作模式

  • 和LAMP不同的是,提供web服务的是Nginx
  • 并且php是作为一个独立服务存在的,这个服务叫做php-fpm
  • Nginx直接处理静态请求,动态请求会转发给php-fpm
  • 对于静态文件处理上性能高于apache,用户并发支持很大,可以上好几万,Apache做不到

MySQL 安装

  • 下载并解压源码包

    下载包:
    [root@localhost src]# wget http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.36.tar.gz

    解压:
    [root@localhost src]# tar -zxv -f mysql-5.6.35-linux-glibc2.5-x86_64.tar.gz

    移动解压后的文件并修改文件名:
    将解压出来的mysql-5.6.35-linux-glibc2.5-x86_64 文件移动到/usr/local/目录下,并改名为mysql。
    [root@localhost src]# mv mysql-5.6.35-linux-glibc2.5-x86_64 /usr/local/mysql

    切换到/usr/lcoal/mysql/目录
    [root@localhost src]# cd /usr/local/mysql/

    创建账号和/data/目录:
    [root@localhost mysql]# useradd mysql
    [root@localhost mysql]# mkdir /data/

  • 配置mysql

    [root@localhost mysql]# ./scripts/mysql_install_db --user=mysql --datadir=/data/mysql

    #如果在安装过程中出现两个ok,则安装成功。或者使用命令echo $? 命令,输出结果为0则安装成功。结果为1则安装失败。

  • 拷贝配置文件

    配置文件的目录为:/usr/local/mysql/support-files/my-default.cnf
    [root@localhost mysql]# cp support-files/my-default.cnf /etc/my.cnf

    mysql的配置文件固定放在/etc/下,并且名字为my.cnf(如果为其它目录需要去指定,否则系统只会去找/etc/my.cnf文件。)

    也不可以拷贝配置文件,直接使用现成的/etc/my.cnf 文件,编辑此文件,修改如下内容:
    datadir=/data/mysql
    socket=/tmp/mysql.sock
    注释掉这三行:

    log-error=/var/log/mariadb/mariadb.log

    pid-file=/var/run/mariadb/mariadb.pid

    !includedir /etc/my.cnf.d

  • 启动脚本

    启动脚本目录为:/usr/local/mysql/support-files/mysql.server

    将启动脚本拷贝到/etc/init.d/目录下,改名为:mysqld
    [root@localhost mysql]# cp support-files/mysql.server /etc/init.d/mysqld

    编辑/etc/init.d/mysqld文件:
    basedir=/usr/local/mysql
    datadir=/data/mysql
    (46,47行)

    权限变更:
    将文件权限改为755(默认为755,不需要改)
    chmod 755 /etc/init.d/mysqld

    设置开机启动,将该服务加到系统服务列表中:
    [root@localhost mysql]# chkconfig --add mysqld
    [root@localhost mysql]# chkconfig --list

    注意:该输出结果只显示 SysV 服务,并不包含原生 systemd 服务。SysV 配置数据可能被原生 systemd 配置覆盖。
    如果您想列出 systemd 服务,请执行 'systemctl list-unit-files'。
    欲查看对特定 target 启用的服务请执行
    'systemctl list-dependencies [target]'。
    mysqld 0:关 1:关 2:开 3:开 4:开 5:开 6:关

    还可以直接用命令启动:

    /etc/init.d/mysqld start

    service mysqld start

    [root@localhost mysql]# service mysqld start
    Starting MySQL.Logging to '/data/mysql/localhost.localdomain.err'.
    . SUCCESS! #启动成功
    可以使用命令:
    ps aux | grep mysqld 查看进程
    netstat -lntp 查看监听端口

    停止mysqld服务
    service mysqld stop

    命令行的方式启动(&在后台启动):
    /usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my.cnf --user=mysql --datadir=/data/mysql &

PHP 安装

如果之前安装过PHP,需要清除其原有的配置:[root@localhost src]# cd php-5.6.30[root@localhost src]# make clean
  • 下载并解压PHP

    下载包:
    [root@localhost php]# wget http://cn2.php.net/distributions/php-7.1.6.tar.bz2

    解压包:
    [root@localhost php]# tar -jxv -f php-7.1.6.tar.bz2

    将包移动到/usr/local/下并重命名为php
    [root@localhost php]# mv php-7.1.6 /usr/local/php

  • 配置

    [root@localhost src]# cd /usr/local/php/
    [root@localhost php]# ./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-pdo-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

    配置过程中可能会需要安装其它包,详见php安装。

  • 编译和安装

    [root@localhost php]# make
    ......

    [root@localhost php]# echo $?
    0

    [root@localhost php]# make install
    ......

    [root@localhost php]# echo $?
    0

  • 查看php-fpm加载了哪些模块

    [root@localhost php]# /usr/local/php-fpm/sbin/php-fpm -m

  • 检查php-fpm配置文件

    [root@localhost php]# /usr/local/php-fpm/sbin/php-fpm -t

配置php-fpm
  • 创建php-fpm用户

    [root@localhost php]# useradd -s /sbin/nologin php-fpm

该账号用来运行php-fpm服务,因为在LNMP环境中,PHP是以一种服务的形式独立存在的。

  • 将php配置文件添加到php-fpm配置文件目录

    [root@localhost php]# cp php.ini-production /usr/local/php-fpm/etc/php.ini

  • 配置文件

    切换到/usr/lcoal/php-fpm/etc 目录下:
    [root@localhost php]# cd /usr/local/php-fpm/etc

    添加php-fpm.conf文件,并加入如下内容:
    [root@localhost etc]# vim 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 = 127.0.0.1::9000,本地监听,也可以监听其他IP:port
    #此处格式会影响配置Nginx和PHP结合时Nginx寻址PHP的路径
    listen.mode = 666
    #当监听的为socket文件时该部分才生效,用于指定.sock文件的权限
    user = php-fpm
    group = php-fpm
    #定义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
    #以上部分为进程相关信息

    检测配置文档是否有错误:
    [root@localhost etc]# /usr/local/php-fpm/sbin/php-fpm -t
    [02-Jan-2018 23:18:03] NOTICE: configuration file /usr/local/php-fpm/etc/php-fpm.conf test is successful

  • 配置启动脚本

    切换到/usr/local/php/目录下
    [root@localhost etc]# cd /usr/local/php/

    将启动脚本添加到系统配置文件中:
    [root@localhost php]# cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm

    更改文件权限:
    [root@localhost php]# chmod 755 /etc/init.d/php-fpm

    设置开机启动
    [root@localhost php]# chkconfig --add php-fpm
    [root@localhost php]# chkconfig php-fpm on

    启动php-fpm服务:
    [root@localhost php]# service php-fpm start
    Starting php-fpm done

    查看服务是否启动成功:
    [root@localhost etc]# ps aux | grep php

    Nginx介绍

Nginx("engine x")是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、新浪、网易、腾讯、 淘宝等。

  • Nginx 应用场景:

    web服务器、反向代理、负载均衡

  • 对于以上关于LNMP架构、工作模式及MySQL、PHP安装介绍,如果大家还有更多需要了解的可以持续关注我们的行业推新,如需获取专业解答,可在官网联系售前售后的,希望该文章可给大家带来一定的知识更新。


文件 服务 配置 目录 服务器 命令 用户 脚本 监听 架构 成功 权限 系统 代理 模式 工作 内容 拷贝 结果 过程 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 ibm服务器一个电源管理 大连网络安全宣传周活动启动 学习网络技术的基本知识 浪潮服务器好还是联想服务器好 襄阳网络安全检查 软件开发中的版本管理 大学计算机网络技术课本 乡镇网络安全保障工作机制 山西程序软件开发免费咨询 网络安全黑客攻防好不好学 县级网络安全监督管理职责 6年级网络安全靠人民手抄报 输入网络安全密匙啥意思 清理相同数据库 网络安全和软件开发职业哪个好 网络安全注意要点 mysql数据库名字规范 北京交通大学计算机网络安全 高中网络安全主题班会课件 pe1.2服务器 网络安全服务有哪几种 黑客文化与网络安全期末答案 据不改正或者导致危害网络安全 人际网络安全知识 组织开展网络安全大检查 华硕Rs520服务器 关于网络安全方面的手抄报 黑客攻击服务器会有病毒吗 上海拼多多软件开发招聘信息网 淘宝软件开发经理招聘
0