LNMP架构搭建(基础入门级)

LNMP架构介绍

LNMP = Linux + Ningx + Mysql + PHP

由Nginx取代apache,提供web服务;

PHP作为一个独立服务存在而非apache的一个模块,这个服务为php-fpm;

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

Nginx在处理静态文件的速率较Apache要快的多,这时两者的底层设计所决定的。同时Nginx可以处理的并发访问量也较Apache要大的多,毕竟Apache创建之初并没有考虑到当今的高并发访问量的规模会如此之大。Apache采用的是多进程的方式,对内存的要求会较高,而且有限制;Nginx采用多线程的方式,在内存消耗方面要比Apache好的多。

Mysql的安装

由于mysql的二进制源码包的安装较复杂,这里使用的是预编译版本的

  1. 解压并移动mysql预编译压缩包
[[email protected] src]# tar zxf mysql-5.6.36-linux-glibc2.5-x86_64.tar.gz
[[email protected] src]# mv mysql-5.6.36-linux-glibc2.5-x86_64 /usr/local/mysql

2 创建用户及数据目录

[[email protected] src]# cd /usr/local/mysql/
[[email protected] mysql]# useradd -M -s /sbin/nologin mysql
[[email protected] mysql]# mkdir /data

3.安装依赖包

[[email protected] mysql]#  yum install -y perl-Data-Dumper libaio-devel

4.初始化数据库

[[email protected] mysql]# ./scripts/mysql_install_db --user=mysql --datadir=/data/mysql
[[email protected] mysql]# cp support-files/my-default.cnf /etc/my.cnf
[[email protected] mysql]# vi /etc/my.cnf
"修改[mysqld]内的2行即可
 basedir = /usr/local/mysql
 datadir = /data/mysql
保存退出"

5.修改启动脚本

[[email protected] mysql]# cp support-files/mysql.server /etc/init.d/mysqld
[[email protected] mysql]# vi /etc/init.d/mysqld
"同样要修改一下参数
basedir=/usr/local/mysql
datadir=/data/mysql"

6.设置开机启动

[[email protected] mysql]# chmod 755 /etc/init.d/mysqld
[[email protected] mysql]# chkconfig --add mysqld

7.启动mysql,验证是否安装成功

[[email protected] mysql]# /etc/init.d/mysqld start
[[email protected] mysql]# ps aux | grep mysqld

PHP的安装

  1. 解压压缩包

    [[email protected] src]# tar zxvf php-5.6.30.tar.gz
    [[email protected] src]# cd php-5.6.30
  2. 创建用户php-fpm
    [[email protected] src]# useradd -M -s /sbin/nologin php-fpm
  1. 安装依赖包

    [[email protected] php-5.6.30]# yum install -y epel-release
    [[email protected] php-5.6.30]# yum install -y gcc gcc-c++ libxml2-devel openssl-devel libcurl-devel libjpeg-devel libpng-devel freetype-devel libmcrypt-devel
  1. 编译安装

    [[email protected] 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
    [[email protected] php-5.6.30]# make && make install

php7版本已经取消--with-mysql参数,编译安装时该参数不写,写了会报错,但不影响安装

5.修改配置文件

[[email protected] php-5.6.30]# cp php.ini-production /usr/local/php-fpm/etc/php.ini
[[email protected] php-5.6.30]# cd  /usr/local/php-fpm/etc
[[email protected] etc]# vi php-fpm.conf
[[email protected] etc]# cat 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  # 监听socket
#listen = 127.0.0.1:9000
listen.mode = 666 # 监听是socket才会生效
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

6.设置启动脚本,并设置开机启动

启动脚本模板文件在/usr/local/src/php-5.6.30/sapi/fpm/init.d.php-fpm

[[email protected] etc]# cd /usr/local/src/php-5.6.30
[[email protected] php-5.6.30]# cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
[[email protected] php-5.6.30]# chmod 755 /etc/init.d/php-fpm
[[email protected] php-5.6.30]# chkconfig --add php-fpm
[[email protected] php-5.6.30]# chkconfig --level 345 php-fpm on

7.启动php-fpm服务

[[email protected] php-5.6.30]# service php-fpm start
Starting php-fpm  done

Nginx的安装

这里只写出了最基础的nginx源码安装方式,我们可以根据需要在后期加上需要的参数再次编译(例如支持HTTPS的http_ssl_module模块,再次编译时加上--with-http_ssl_module参数),需要注意的是再次安装时用户自定义的虚拟主机配置文件可能丢失,最好进行备份。

1.下载并解压

[[email protected] ~]# cd /usr/local/src
[[email protected] src]# wget http://nginx.org/download/nginx-1.12.2.tar.gz
[[email protected] src]# tar zxf nginx-1.12.2.tar.gz

2.编译、安装

[[email protected] src]# cd nginx-1.12.2
[[email protected] nginx-1.12.2]# ./configure --prefix=/usr/local/nginx
[[email protected] src]# make && make install
  1. 创建自定义启动脚本

    [[email protected] nginx-1.12.2]# vim /etc/init.d/nginx
    #!/bin/bash
    # chkconfig: - 30 21
    # description: http service.
    # Source Function Library
    . /etc/init.d/functions
    # Nginx Settings
    NGINX_SBIN="/usr/local/nginx/sbin/nginx"
    NGINX_CONF="/usr/local/nginx/conf/nginx.conf"
    NGINX_PID="/usr/local/nginx/logs/nginx.pid"
    RETVAL=0
    prog="Nginx"
    start()
    {
    echo -n $"Starting $prog: "
    mkdir -p /dev/shm/nginx_temp
    daemon $NGINX_SBIN -c $NGINX_CONF
    RETVAL=$?
    echo
    return $RETVAL
    }
    stop()
    {
    echo -n $"Stopping $prog: "
    killproc -p $NGINX_PID $NGINX_SBIN -TERM
    rm -rf /dev/shm/nginx_temp
    RETVAL=$?
    echo
    return $RETVAL
    }
    reload()
    {
    echo -n $"Reloading $prog: "
    killproc -p $NGINX_PID $NGINX_SBIN -HUP
    RETVAL=$?
    echo
    return $RETVAL
    }
    restart()
    {
    stop
    start
    }
    configtest()
    {
    $NGINX_SBIN -c $NGINX_CONF -t
    return 0
    }
    case "$1" in
    start)
        start
        ;;
    stop)
        stop
        ;;
    reload)
        reload
        ;;
    restart)
        restart
        ;;
    configtest)
        configtest
        ;;
    *)
        echo $"Usage: $0 {start|stop|reload|restart|configtest}"
        RETVAL=1
    esac
    exit $RETVAL

    4.更改配置文件权限并开机启动

    [[email protected] nginx-1.12.2]# chmod 755 /etc/init.d/nginx
    [[email protected] nginx-1.12.2]# chkconfig --add nginx
    [[email protected] nginx-1.12.2]# chkconfig nginx on

    如果无法直接使用nginx命令,则表示/etc/init.d不在PATH变量内,可以通过修改/etc/profile来添加;

原文地址:http://blog.51cto.com/castiel/2058829

时间: 2024-10-09 07:05:39

LNMP架构搭建(基础入门级)的相关文章

企业级LNMP架构搭建实例(基于Centos6.x)

1.1 部署LNMP架构说明 1.1.1 LNMP架构内容 01.部署linux系统 02.部署nginx网站服务 03.部署mysql数据库服务 04.部署php动态解析服务 1.1.2 配置LNMP架构步骤 01.配置Nginx配置文件 02.配置mysql数据库信息(SQL语句) 03.配置wordpress博客网站 1.1.3 架构服务器串联 01.数据库数据信息迁移(web服务器上的mysql数据 迁移到10.0.0.51 数据库服务器上) 02.将本地储存数据挂载到NFS共享储存服务

LNMP架构搭建Discuz论坛(实战!)

什么是LNMP架构 LNMP平台就是Linux.Ngnix. MySQL. PHP的组合架构,需要Linux服务器.MySQL数据库.PHP解析环境 MySQL安装配置 为了与Nginx.PHP环境保持一致,此处选择采用源代码编译的方式安装MySQL组件 MySQL部署的方法 编译安装MySQL 优化调整 初始化数据库 启动mysq|服务并设置root数据库账号的密码 PHP解析环境的安装 配置网页动静分离,解析PHP,有两种方法可以选择 使用PHP的FPM模块 将访问PHP页面的Web请求转交

基于lnmp架构搭建论坛

LNMP代表的就是:Linux系统下Nginx+MySQL+PHP这种网站服务器架构. 实验环境: 系统环境: RHEL6 x86-64 selinux and iptables disabled 一.Mysql 安装 1.安装软件包依赖性: [[email protected] ~]# yum install -y gcc gcc-c++ ncurses-devel bison openssl-devel zlib-devel [[email protected] ~]# yum instal

LNMP架构搭建详细部署

LNMP简介LNMP代表的就是:Linux系统下Nginx+MySQL+PHP这种网站服务器架构. Linux是一类Unix计算机操作系统的统称,是目前最流行的免费操作系统.代表版本有:debian.centos.ubuntu.fedora.gentoo等. Nginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器. Mysql是一个小型关系型数据库管理系统. PHP是一种在服务器端执行的嵌入HTML文档的脚本语言. 这四种软件均为免费.高效.扩展性强的网

LNMP架构搭建与优化

1,1php编译与安装 LAMP apache.mysql.php LNMP nginx.mysql.php mysql的安装与LAMP的mysql安装方法一样 先安装mysql再安装php cd /usr/local/src wget http://cn2.php.net/distributions/php-5.4.37.tar.bz2  下载 tar jxvf php-5.4.37.tar.bz2 解压 cd php-5.4.37 ./configure --prefix=/export/s

LNMP架构搭建论坛(3)

配置php服务libmcrypt源码包是用于加密算法的扩展库程序libvpx源码包是用于提供视频编码器的服务程序,libvpx-v1.3.0.tar.bz2,则此处解压方式为:tar xjvftiff源码包是用于提供标签图像文件格式的服务程序libpng源码包是用于提供png图片格式支持函数库的服务程序freetype源码包是用于提供字体支持引擎的服务程序jpeg源码包是用于提供jpeg图片格式支持函数库的服务程序libgd源码包是用于提供图形处理的服务程序,在编译libgd源码包时,请记得写入

LNMP架构搭建论坛(三)

配置PHP服务(1)cd /usr/local/src(2)解压编译生成安装yasm源码包(3)安装libmcrypt源码包(4)安装libvpx源码包(5)安装tiff源码包(6)安装libpng源码包(7)安装freetype 源码包(8)安装jpegsrc源码包(9)安装libgb源码包(10)安装t1lib源码包tar zxvf t1lib-5.1.2.tar.gzcd t1lib-5.1.2./configure --prefix=/usr/local/t1lib --enable-s

LNMP架构搭建

php编译安装: [[email protected] ~]# cd /usr/local/src/ [[email protected] src]# wget wget  http://cn2.php.net/distributions/php-5.4.37.tar.bz2 [[email protected] src]# rm -rf /usr/local/php/           //删除上次LAMP安装时做的PHP [[email protected] src]# tar jxvf

LNMP 架构搭建与优化

安装 MySQL 安装 PHP 安装 Nginx 解析 PHP Nginx 启动脚本 Nginx 配置文件 Nginx 502 问题 php-fpm 配置文件 Nginx 配置默认虚拟主机