LNMP架构的搭建

本文详细介绍在RHEL6.5环境下,从零开始编译安装PHP 5.6.35、Nginx 1.16.0及MySQL 5.7.17的过程。涵盖依赖安装、编译配置、服务启动与基本配置,适用于希望深入了解LNMP环境部署的系统管理员和技术人员。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

环境
rhel6.5

编译

  • 1.得到包并解压

[root@server1 ~]#tar jxf php-5.6.35.tar.bz2
[root@server1 ~]#cd php-5.6.35
在这里插入图片描述

  • 2.安装依赖包

[root@server1 ~]#yum install -y gcc gcc-c++ bison libxml2 libxml2-devel libcurl libcurl-devel libjpeg-turbo-devel libpng-devel freetype-devel gmp-devel net-snmp-devel
[root@server1 ~]#yum install -y libmcrypt-*(libmcrypt-devel-2.5.8-9.el6.x86_64.rpm与libmcrypt-2.5.8-9.el6.x86_64.rpm)

  • 3.编译

[root@server1 ~]#cd php-5.6.35
[root@server1 php-5.6.35]# ./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-gmp --with-gettext --without-pear --enable-mysqlnd --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --enable-inline-optimization --enable-soap --enable-ftp --enable-sockets --enable-mbstring --enable-fpm --with-fpm-user=nginx --with-fpm-group=nginx --with-mcrypt --with-mhash

  • 4.安装

[root@server1]# make && make install

php配置

  • 1.创建nginx用户
    [root@server1 ~]# useradd nginx

  • 2.复制配置文件到模版到配置文件中

    [root@server1 ~]#cd /usr/local/lnmp/php/etc
    [root@server1 etc]# cp php-fpm.conf.default php-fpm.conf

在这里插入图片描述

[root@server1 ~]#cd ~/php-5.6.35
 [root@server1 php-5.6.35]# cp php.ini-production /usr/local/lnmp/php/etc/php.ini

在这里插入图片描述

  • 3.编译配置文件,去掉pid的注释

[root@server1 etc]# vim /usr/local/lnmp/php/etc/php.ini

在这里插入图片描述

  • 4.将php的启动脚本复制到系统的启动目录下并添加可执行权限

    [root@server1 php-5.6.35]# pwd
    /root/php-5.6.35
    [root@server1 php-5.6.35]#cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
    [root@server1 php-5.6.35]#chmod +x /etc/init.d/php-fpm
    
  • 5.开启服务并查看php端口,默认为9000
    [root@server1 php-5.6.35]# /etc/init.d/php-fpm start
    在这里插入图片描述
    nginx安装
    [root@server1 ~]# tar zxf nginx-1.16.0.tar.gz
    [root@server1 nginx-1.16.0]# ./configure --prefix=/usr/local/lnmp/nginx --with-http_ssl_module --with-http_stub_status_module --with-threads --with-file-aio --user=nginx --group=nginx
    [root@server1 nginx-1.16.0]# make && make install
    [root@server1 nginx-1.16.0]# vim /usr/local/lnmp/nginx/conf/nginx.conf
    在这里插入图片描述
    在这里插入图片描述

[root@server1 nginx-1.16.0]# vim /usr/local/lnmp/nginx/html/index.php
在这里插入图片描述

[root@server1 nginx-1.16.0]# ln -s /usr/local/lnmp/nginx/sbin/nginx /usr/local/sbin
[root@server1 nginx-1.16.0]# nginx -t
[root@server1 nginx-1.16.0]# nginx -s reload

在网页中测试:
在这里插入图片描述
mysql的安装

  • 安装cmake
  • cmake用来编译mysql源码,设置mysql的编译参数

[root@server1 ~]# tar zxf mysql-boost-5.7.17.tar.gz
[root@server1 ~]# yum install cmake-2.8.12.2-4.el6.x86_64.rpm

在这里插入图片描述

  • 依赖安装

    [root@server1 ~]# yum install -y ncurses-devel gcc gcc-c++ bison

  • 编译

[root@server1 ~]#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 -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DEXTRA_CHARSETS=all -DWITH_BOOST=boost/boost_1_59_0/

   -DCMAKE_INSTALL_PREFIX=/usr/local/lnmp/mysql  ##指定安装路径
   -DMYSQL_DATADIR=/usr/local/lnmp/mysql/data ##指定数据库中数据存放路径
   -DMYSQL_UNIX_ADDR=/usr/local/lnmp/mysql/data/mysql.sock ## 链接数据库中的socket文件
   -DWITH_MYISAM_STORAGE_ENGINE=1 ##安装MYISAM的存储引擎		  					
   -DWITH_INNOBASE_STORAGE_ENGINE=1
   -DDEFAULT_CHARSET=utf8 ##使用utf-8字符编码
   -DDEFAULT_COLLATION=utf8_general_ci ##校验字符
   -DEXTRA_CHARSETS=all##安装所有的扩展字符集
   -DWITH_BOOST=boost/boost_1_59_0/##

若编译失败需要再次编译时,需要先删除之前编译的缓存文件CMakeCache.txt
在这里插入图片描述

  • 编译成功后安装

[root@server1 mysql-5.7.17]# make && make install

mysql配置文件的修改

  • 复制mysql的启动脚本至系统启动服务脚本的默认目录去

[root@server1 mysql-5.7.17]# cd support-files/ ##
[root@server1 support-files]# cp mysql.server /etc/init.d/mysqld
[root@server1 mysql]# chmod +x /etc/init.d/mysqld

  • 进入mysql的源码编译目录对器配置文件作备份缤纷复制一份至/etc/my.cnf下并进行配置

[root@server1 support-files]# cp /etc/my.cnf /etc/my.cnf.bak##备份配置文件
[root@server1 support-files]# cp my-default.cnf /etc/my.cnf#复制配置文件至/etc/my.cnf下
cp: overwrite `/etc/my.cnf’? y
[root@server1 support-files]# vim /etc/my.cnf##编辑配置文件
在这里插入图片描述

  • 添加用户mysql对mysql服务进行限制

[root@server1 support-files]# groupadd -g 27 mysql
[root@server1 support-files]# useradd -u 27 -g 27 mysql
[root@server1 support-files]# id mysql
uid=27(mysql) gid=27(mysql) groups=27(mysql)

  • 创建目录data并修改data目录拥有者为mysql,mysql目录组为mysql

[root@server1 support-files]# cd /usr/local/lnmp/mysql
[root@server1 mysql]# mkdir data
[root@server1 mysql]# chgrp mysql /usr/local/lnmp/mysql -R
[root@server1 mysql]# chown mysql data -R

  • 将编译生成的mysql二进制命令放入系统的环境变量中方便调用

[root@server1 mysql]# vim ~/.bash_profile
[root@server1 mysql]# source ~/.bash_profile
在这里插入图片描述

  • mysql初始化配置文件

[root@server1 mysql]# mysqld --user=mysql --initialize##执行mysql初始化配置文件
“root@localhost“后的 qL<YYg(kp2sS 为初始密码
在这里插入图片描述初始化时若失败,则先删除data目录下的文件重新生成即可

  • 开启数据库并登陆查看
    [root@server1 mysql]# /etc/init.d/mysqld start
    Starting MySQL.Logging to ‘/usr/local/lnmp/mysql/data/server1.err’.
    [ OK ]
    [root@server1 mysql]# mysql -uroot -p##密码为初始化时生成的密码
    Enter password:
    在这里插入图片描述
  • mysql的安全初始化
    [root@server1 mysql]# mysql_secure_installation
    在这里插入图片描述
    修改密码,移除匿名用户等操作
  • 再次使用新密码登陆数据库
    在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值