您的位置:首页 > 运维架构 > Linux

linux下LNMP环境的搭建

2016-06-12 15:50 423 查看
lamp=linux+apache+mysql+php; lnmp=Linux+nginx+mysql+php 他们的区别在于apache和nginx和php结合的模式不同,我们讲的这两个架构中,php在编译的时候以一个模块的形式和apache成为了一个整体,这种情况下我们是可以把php的安装目录/usr/local/php删除的。而lnmp中的php启动了一个服务php-fpm,这种模式相当于nginx处理php脚本时,直接把请求转发给了php-fpm,说白了就是一个代理。这个php的安装目录是不可以删除的。 这两种模式其实是可以共存的,编译配置的时候,把prefix=后面的目录改一下即可,不让它覆盖。

1.Mysql的安装(5.6会依懒包 所以安装过程会得安装依懒包)
mysql5.6.29tar.gz包 本次采用源码编译(不过工作中不建议用源码编译,太浪费时间,还是采用二进制源码包安装比较好)
先下载包然后把包拷贝到 /usr/local/src
然后解包
cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \(安装路径)
-DMYSQL_UNIX_ADDR=/usr/local/mysql/data/mysql.sock \(socket文件)
-DDEFAULT_CHARSET=utf8 \ (默认字符集)
-DDEFAULT_COLLATION=utf8_general_ci \(默认编码)
-DWITH_EXTRA_CHARSETS=utf8,gbk \(额外的编码)
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \(启用PERFSCHEMA引擎支持)
-DWITH_FEDERATED_STOGAGE_ENGINE=1 \(启动FEDERATE引擎支持)
-DWITH_PARTITION_STORAGE_ENGINE=1 \(启动PARTITION引擎支持)
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \(启动ARCHIVE引擎支持)
-DWITH_READLINE=1 \(使用readline功能)
-DMYSQL_DATADIR=/usr/local/mysql/data \(数据库数据目录)
-DMYSQL_TCP_PORT=3306(TCP/IP 端口)
useradd -s /sbin/nologin -M mysql
mkdi -p /data/mysql
./scripts/mysql_install_db --user=mysql --datadir=/data/mysql (datadir 存放数据)

5.mysql的配置文件在(/etc/my.cnf)
cd support-files/
cp my-large.cnf /etc/my.conf
vi my.conf
【mysqld】用来配置mysql服务的
log-bin=mysql-bin(更新数据会有相应的记录日志)--.>主从有用
cp mysql.sever /etc/init.d/mysqld
vi /etc/init.d/mysqld
找到
basedir=/usr/local/mysql
datadir=/data/mysql
chkconfig -add mysqld (加入系统服务列表)
chkconfig mysqld on(开机启动)
/etc/init.d/mysqld start
ps -aux |grep mysql
netstart -lnp|grep mysql
安装PHP(5.5.29)
cd php-5.5.29
创建相关用户
useradd -s /sbin/nologin php-fpm
配置编译参数
./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --enable-fpm --with-fpm-user=php-fpm --with-fpm-group=php-fpm --with-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 --disable-ipv6
make &make install
cp php.ini-production /usr/local/php/etc/php.ini (拷贝配置文件)
cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm(拷贝启动脚本文件)
chmod 755 ./etc/init.d/php-fpm (添加X的权限)
chkconfig --add php-fpm (开机启动)
启动的配置文件php-fpm.conf
cd /usr/local/php/etc/
mv php-fpm.default php-fpm.conf
检查是否错误:/usr/local/php/sbin/php -fpm -t
php.ini 是php的全局配置文件,比如我要配置时区,配置禁止函数。
php-fpm.conf 是php-fpm 专属的配置文件,比如配置运行服务的用户,配置启动参数等,咱们视频都有讲。
php-fpm 就是一个启动二进制文件。

Nginx安装
cd /usr/local/src
wget http://mirrors.sohu.com/nginx/nginx-1.9.9.tar.gz
tar xvf nginx-1.9.9.tar.gz
cd nginx-1.9.9
./configure \
--prefix=/usr/local/nginx \
--with-pcre(正则库)
安装过程出错:需要安装一个pcre-devel (devel代表是开发需要的包,一般缺啥包都是要devel)
make & make install
echo $? (结果是0代表没有出错)
cd /usr/local/nginx 生成4个目录
iptables -F(暂时清空防火墙)
/usr/local/nginx/sbin/nginx (回车启动)
在浏览器用IP访问 可以发现:




LNMP搭建成功!!!
然后要做配置,让PHP能够解析.
vim /usr/local/nginx/conf/nginx.conf (默认配置文件)
打开PHP功能并修改
/usr/local/nginx/sbin/nginx -s reload(重新加载)



然后将ROOT拿出来做全局设置



然后cd /usr/local/nginx/html
vi 2.php
<?php
echo “测试是否解析”
?>



说明LNMP 可以解析PHP, PHP可以在LNMP环境下跑起来了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  mysql 二进制 local