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构架的主要内容,如果未能解决你的问题,请参考以下文章