LNMP构架

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LNMP构架相关的知识,希望对你有一定的参考价值。

************************

**********lnmp**********

************************

 

1.简介

lnmp =  Linux + mysql + nginx + php

完成的内容,源码编译mysql和PHP,编译完成后,组合Nginx,并且用PHP做了一个Dsicuz社区。

 

2.源码编译 mysql  

下载 mysql-boost-5.7.11.tar.gz,

    cmake-2.8.12.2-4.el6.x86_64.rpm

 

(1)首先yum install cmake-2.8.12.2-4.el6.x86_64.rpm

(2)cmake mysql的主要配置


        cmake -DCMAKE_INSTALL_PREFIX=/usr/local/lnmp/mysql \

        > -DMYSQL_DATADIR=/usr/local/lnmp/mysql/data \

> -DMYSQL_UNIX_ADDR=/usr/local/lnmp/mysql/data/mysql.sock \

> -DWITH_MYISAM_STORAGE_ENGINE=1 \

> -DWITH_INNOBASE_STORAGE_ENGINE=1 \

> -DWITH_PARTITION_STORAGE_ENGINE=1 \

> -DENABLED_LOCAL_INFILE=1 \

> -DDEFAULT_CHARSET=utf8 \

> -DDEFAULT_COLLATION=utf8_general_ci \

> -DEXTRA_CHARSETS=all \

> -DWITH_BOOST=boost/boost_1_59_0/boost/   (这个boost第一执行时候加上,后面就不加了)

 

 

          yum install gcc-c++ | ncurses-devel | bison | openssl-devel | zlib-devel -y   (注意提示,要rm -fr CMakeCache.txt)

             (查找文件源源软件包   yum whatprovides */X)

make && make install

重新编译时,需要清除旧的对象文件和缓存信息

make clean

rm -f CMakeCache.txt

useradd -M -s /sbin/nologin mysql

 

cd /usr/local/lnmp/mysql

cp support-files/my-default.cnf /etc/my.cnf#根据你的主机内存复制 mysql 配置文件

chown -R mysql.mysql .

mysqld --user=mysql --basedir=/usr/local/lnmp/mysql

--datadir=/usr/local/mysql/lnmp/data

chown -R root .

chown -R mysql data

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


service mysqld start

chkconfig mysqld on

 

vi ~/.bash_profile

PATH=$PATH:/usr/local/mysql/lnmp/bin

source ~/.bash_profile#使之生效

 

mysql_secure_installation #按提示完成 mysql 安全设置,生产环境推荐使用

ln -s /usr/local/mysql/lib /usr/local/mysql/lib64 #不然 php 编译的时候找不到 mysql 的库文件

 

启动mysql服务,并且mysql_secure_installation(记得设置密码哦!)

             

 

3.源码编译 PHP

下载 php-5.6.20.tar.bz2

(1)解决依赖性(具体安装提示可看报错信息,不过我还是建议你先安装下面这些,有时报错信息会迷惑你(我不会告诉你位被迷惑过,浪费了一整天时间。。))

yum install net-snmp-devel curl-devel libxml2-devel libpng-devel libjpeg-devel freetype-

devel gmp-devel openldap-devel -y

 

       2)./configure --prefix=/usr/local/lnmp/php --with-config-file-path=/usr/local/lnmp/php/etc --with-openssl --with-snmp --with-gd --with-zlib --with-curl --with-libxml-dir --with-png-dir --with-jpeg-dir --with-freetype-dir --with-out-pear --with-gettext --with-gmp --enable-inline-optimization --enable-soap --enable-ftp --enable-sockets --enable-mbstring --enable-fpm --with-fpm-user=nginx --with-fpm-group=nginx --with-mcrypt --with-mysql --with-pdo-mysql --enable-mysqlnd


cp php.ini-production /usr/local/lnmp/php/etc/php.ini


cd /usr/local/lnmp/php/etc/

cp php-fpm.conf.default php-fpm.conf

 

cp/php-5.6.20/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm  [配置启动项目]

chmod +x /etc/init.d/php-fpm

 

      (3)修改配置信息(vim /usr/local/lnmp/php/etc/php.ini )

  date.timezone = ‘Asia/shanghai‘

  pdo_mysql.default_socket=/usr/local/lnmp/mysql/data/mysql.sock[一共有三处,这个地址是源码编译的mysql.sock 地址,具体地址依据情况而定]

 

      (4)更改(vim /usr/local/nginx/conf/nginx.conf)

#user  nobody;

worker_processes  1;

#

...


location / {

            root   html;

            index  index.php index.html index.htm;[添加 index.php]

        }

...

 

location ~ \.php$ {

            root           html;

            fastcgi_pass   127.0.0.1:9000;

            fastcgi_index  index.php;

            fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;

            include        fastcgi.conf;[更改这个文件名称]

        }

 

 

4.Discuz社区添加

下载 Discuz_X3.2_SC_UTF8.zip

    /usr/local/nginx/html 下解压(unzip)

  修改upload名称,然后打开浏览器,http://172.25.254.161/hxl/install/ 进行安装  [安装的时候根据提示,修改目录权限,添加数据库就好啦!]

这个是比较简单啦!!


以上是关于LNMP构架的主要内容,如果未能解决你的问题,请参考以下文章

LNMP构架搭建论坛配置php服务

lnmp

借助LANMT构架,简析ngnix的使用

LNMP源码编译安装及一键部署LNMP架构

如何卸载lnmp

LNMP网站架构