linux下LNMP环境的搭建

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环境下跑起来了

时间: 2024-08-06 07:56:05

linux下LNMP环境的搭建的相关文章

linux下LNMP环境搭建

LNMP是linux.nginx.mysql.php的简写:LNMP与LAMP环境一样也是用来做web网站后台的,nginx是轻量级的,进程间的通讯使用php-fpm独立使用:apache则是比较臃肿的,调用php的模块来完成的,需要加载很多模块,运行起来相对较慢. 一.安装MySQL 我们平时安装MySQL都是源码包安装的,但是由于它的编译需要很长的时间,我们这里选择安装二进制免编译包.你可以到MySQL官方网站去下载 http://dev.mysql.com/downloads/ 具体版本根

[Linux] PHP程序员玩转Linux系列-lnmp环境的搭建

1.PHP程序员玩转Linux系列-怎么安装使用CentOS 在平常的工作中,我作为PHP程序员经常要搭建一下环境,这个环境就是Linux系统下安装nginx,php,mysql这三个软件,对软件进行配置,然后在浏览器上能够正常打开运行查看项目.CentOS中安装软件有好几种方式,我经常用的是包安装方式,因为这种非常简单一句命令就能安装成功,这也是与windows下安装软件最大的不同点.包安装方式就一个关键单词就是yum. 解决找不到nginx包的问题 我先安装一下web服务器nginx,按好这

Ubuntu系统下lnmp环境的搭建

LNMP代表的就是:Linux系统下Nginx+MySQL+PHP这种网站服务器架构. Linux是一类Unix计算机操作系统的统称,是目前最流行的免费操作系统.代表版本有:debian.centos.ubuntu.fedora.gentoo等. Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器 Mysql是一个小型关系型数据库管理系统. PHP是一种在服务器端执行的嵌入HTML文档的脚本语言. 这四种软件均为免费开源软件,组合到一起,成为一个免费

centos7.X下LNMP环境的搭建

系统:CentOS 7 x86_64 NGINX:nginx-1.7.12 数据库:mariadb-10.0.13 PHP:php-5.5.23 首先做一些准备工作,先把centos7的防火墙更换成iptables,可以参见如下链接 centos7防火墙改为iptables 修改成iptables之后就可以清空iptables里面的过滤规则了,然后再关闭selinux服务.记得不要忘了先安装gcc gcc-c++ wget net-tools等功能哦. 首先安装mariadb 应为数据库编译需要

Linux 下java环境的搭建

1,准备好相应的jdk,tomcat 的安装包  (版本与linux的操作系统位数 一致) 查看linux 的操作系统位数 file /sbin/init--->/sbin/init: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.18, stripped===>代表你的操作系统是64位 如果是aix系统   查看方

Linux下自动化测试环境的搭建

1.安装Linux虚拟机,详情参考  https://blog.csdn.net/qq_22770715/article/details/78558374     https://www.cnblogs.com/Q277227/p/8176564.html 1.1   需要确定IP  ,使用 ifconfig 1.2  linux的用户名跟密码: 1.3   确定可以远程ssh登录: 1.4  确定防火墙处于关闭状态 service iptables stop  用户关闭防火墙: 2.java

Linux下开发环境的搭建

说句实话,对于OIer来说,Linux真的是个很好的开发平台. 这里既没有游戏的喧嚣,也没有广告的打扰,gcc/g++早已预装,一切已为你准备好......(???)即使对于日常使用,也绰绰有余. 如果因为不熟悉.对新手不友好.不知道.没有Dev-C++等理由,去放弃它,未免也太可惜了. 那么,如何在Linux下搭建一个好的开发环境呢? 在下面,我会分三部分叙述Linux开发环境搭建的过程,并推荐一些比较好用的软件,供大家平日使用参考. (注:以下命令,请在终端中运行.如果因依赖关系报错,请用s

linux下LAMP环境的搭建

LAMP=mysql+appache+php,搭建lamp必须按步骤,先mysql再appahe,最后才是PHP 1.mysql安装 本文mysql 用的是二进制源码包(提供二个镜像免费下载点:A:https://github.com/aminglinux/resource/wiki B:http://mirrors.sohu.com/?qq-pf-to=pcqq.c2c) 首先下载二进制包:mysql-5.7.11-linux-glibc2.5-x86_64.tar.gz包 (X86是64位系

Linux下python环境的搭建

一.安装linux最小化系统(CentOS6) 安装最小系统即可 二.安装pyenv多版本管理工具 (一)pyenv的安装步骤 1.安装git yum install git -y 2.安装python编译所需要用到的包 yum -y install gcc make patch gdbm-devel openssl-devel sqlite-devel readline-devel zlib-devel bzip2-devel 3.创建python用户 useradd python 给pyth