1.安装准备


建一个目录用于存放各软件包的压缩文件, 如我把我的源码文件都放在了 /software目录下

切换到/software目录下,执行

wget http://dev.mysql.com/get/Downloads/MySQL-5.0/mysql-5.0.95.tar.gz/from/http://mysql.cdpa.nsysu.edu.tw/  (mysql)

wget http://mirrors.sohu.com/nginx/nginx-1.9.4.tar.gz (nginx)

wget http://mirrors.sohu.com/php/php-5.6.9.tar.gz (php)

wget http://mirrors.sohu.com/apache/httpd-2.4.16.tar.gz (Apache)

用 tar -zxvf 压缩包名  解压相关压缩包

用 yum remove httpd php* 移除已安装的相应包

如果移除不成功则只能rm -rf mysql nginx php zend 的方式来删除安装包

安装相关组件包

yum -y install gcc gcc-c++ libjpeg-devel libpng-devel libtiff-devel fontconfig-devel freetype-devel libXpm-devel gettext-devel openssl-devel libtool-ltdl-devel

2.安装nginx


安装nginx依赖包:yum  -y install zlib-devel pcre-devel openssl-devel

预编译

cd nginx-1.9.4
./configure --prefix=/usr/local/nginx     # 指定安装目录为/usr/local/nginx
--with-openssl=/usr/include/openssl      # 启用ssl
--with-pcre                                                    # 启用正规表达式
--with-http_stub_status_module              # 安装可以查看nginx状态的模块

(--前面必须留一个空格,否则会报错)

编译和安装

make && make install

启用nginx

/usr/local/nginx/sbin/nginx

可以用以下命令来简化启动路径

cp  /usr/local/nginx/sbin/nginx  /etc/init.d

(原本是想通过chkconfig命令来设置自启动的,没有成功,有待研究,最后就只有通过vi /etc/rc.d/rc.local 来写入 /etc/init.d/nginx)

查看nginx是否启动 pgrep  nginx  或用 ps -A | grep nginx

如果返回有结果就说明nginx已启动

可以在浏览器中输入地址查看

这个页面其实对应的就是/usr/local/nginx/html/index.html这个页面

3.安装mysql

cd mysql-5.0.95
./configure --prefix=/usr/local/mysql --without-debug --with-extra-charsets=utf8,gbk --enable-assembler --with-mysqld-ldflags=-all-static --with-client-ldflags=-all-static --with-unix-socket-path=/tmp/mysql.sock --with-ssl
(--without-debug                                          # 取消调试模式提高性能
--with-extra-charsets=utf8,gbk # 仅仅指定需要的默认字符集提高性能
--enable-assembler # 使用汇编模式提高性能
--with-mysqld-ldflags=-all-static # 以静态方式编译提高性能
--with-client-ldflags=-all-static
--with-unix-socket-path=/tmp/mysql.sock # 使用unix socket提高性能)
make && make install

安装完成后复制配置文件和启动脚本:

cp support-files/my-medium.cnf     /etc/my.cnf         # 复制配置文件
cp support-files/mysql.server /etc/init.d/mysqld # 复制启动脚本
chmod +x /etc/init.d/mysqld # 给启动脚本执行权限
(这一步一定要执行,因为mysqld默认没有可执行权限,若不执行则在执行service mysqld start 时会提示这个命令不被允许,或者执行chmod 755 /etc/init.d/mysqld)

为了以后方便我们为所有的二进制可执行文件和动态链接库文件做一个软连接(可不做):

ln -s /usr/local/mysql/bin/*      /usr/local/bin/       # 为可执行的二进制文件做软连接
ln -s /usr/local/mysql/lib/mysql/lib* /usr/lib/ # 为动态链接库做一个软连接


初始化数据库:
mysql_install_db --user=mysql  # 用MySQL用户安装数据库


启动mysql:
方法很多,如
service mysqld start
/etc/init.d/mysqld start
/etc/rc.d/init.d/mysqld start
如若启动失败可查看这篇博客的解决方案http://zhangge.net/4225.html
如我碰到过
是因为在启动mysql之前没对他进行初始化

/usr/local/mysql/bin/mysql_install_db --user=mysql

这个方法解决了

查看是否启动 pgrep mysql 或 netstat -antpl | grep 3306
 

使用mysql

4.安装php


首先得安装php的几个依赖包

yum -y install  libmcrypt mhash mcrypt libxml2-devel curl-devel libpng-devel openldap-devel


如果已经安装就可以不安装了

cd php-5.6.9
./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql/ --with-zlib --enable-xml --disable-rpath --enable-bcmath --enable-shmop --enable-sysvsem --with-curl --enable-fpm --with-mcrypt --with-gd --with-openssl --with-mhash --enable-sockets --with-ldap --with-ldap-sasl --with-xmlrpc -enable-zip --enable-soap --with-iconv=/usr/local/libiconv
make && make install
(这个地方编译得小一会儿)
编译时也有可能出错,比如我碰到过如下的错误
主要是因为libiconv依赖没有安装
解决方法 http://lynnteng0.blog.51cto.com/2145094/1257910
也有可能会出现类似的编译错误,根据提示到网上去找解决方案即可,一般都能找到
编译完后就得改一些配置了

cp /software/php-5.6.9/php.ini-production      /usr/local/php/php.ini      # 如果是开发就复制php.ini-development
cp /usr/local/php/etc/php-fpm.conf.default     /usr/local/php/etc/php-fpm.conf

配置php-fpm,编辑php-fpm.conf
vi /usr/local/php/etc/php-fpm.conf

找到listen那一行,修改成如下内容:
listen = /var/run/php-fpm/php-fpm.sock   # 使用unix socket(原本是没有这个php-fpm.sock的,等启动php-fpm之后就有了)

启动php-fpm
mkdir /var/run/php-fpm
/usr/local/php/sbin/php-fpm (启动php-fpm)

然后配置nginx,编辑nginx配置文件
vi /usr/local/nginx/conf/nginx.conf
修改的地方 :
@1.修改用户和开启日志功能(www用户得自己建一个,日志功能强烈建议开启)

@2.修改根目录并制定可被解析的脚本格式

@3.修改通信协议
fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name;
@4.更改php-fpm的配置文件
vim  /usr/local/php/etc/php-fpm.conf
修改
listen.owner = www
listen.group = www
listen.mode = 0660
将这个文件的user和group指定为www用户
修改完后保存退出 然后重启nginx (关闭pkill -9 nignx   启动/usr/local/nginx/sbin/nginx)和php-fpm (/usr/local/php/sbin/php-fpm)
(当然配置中的用户和群组以及代码跟路径可根据自己喜好做相应变化)
5.写php代码 用于验证
在/home/www/test目录下创建index.php (test目录下及所包含的文件的权限是777 chmod –R 777 test)
<? php
echo phpinfo()
?>
在地址栏中运行localhost若出现如下页面就说明一切ok了
如果没有出现也没啥着急的看看错误日志呗
vim /usr/local/nginx/logs/error.log
比如这是我的一次错误日志 ,主要是/var/run/php-fpm/php-fpm.sock 没有可执行的权限,用chmod命令赋予可执行权限即可(无需再次启动php-fpm和nginx,如果改了相关配置的话就需要重启这两个软件)

lnmp安装总结的更多相关文章

  1. 服务器运行环境(LNMP)安装说明

    服务器运行环境(LNMP)安装说明 因为公司需要一套流程标准,所以写了如下步骤. 先下载文件environment.tar,将文件上传到服务器. 使用命令解压文件,tar xvf environmen ...

  2. LNMP安装Let’s Encrypt 免费SSL证书方法:自动安装与手动配置Nginx

    前几天介绍了最新StartSSL免费SSL申请与配置,很多人看到部落介绍SSL证书安装时总是推荐了OneinStack,因为OneinStack提供了一键添加和配置Let's Encrypt 免费SS ...

  3. LNMP安装,FastCGI说明

    1.1.工作原理讲解说明 1. 用户请求的静态文件,由nginx服务器处理,根据静态的location配置进行处理 用户请求的动态文件,由php服务进行处理,根据动态的location配置进行处理 2 ...

  4. LNMP安装201812012237

    发表这篇文章最初的意愿是想做个最新版的zabbix使用,后来看了下好多“软件”都升级了(如nginx.mysql等),就想干脆做个最新版本的LNMP环境得了,再单独做zabbix的最新版本省得以后升级 ...

  5. LNMP安装目录及配置文件

    LNMP安装目录及配置文件位置 LNMP相关软件安装目录Nginx 目录: /usr/local/nginx/MySQL 目录 : /usr/local/mysql/MySQL数据库所在目录:/usr ...

  6. WDCP,LNMP安装PHP缓存加速扩展eAccelerator,xcache和memcached

    VPS主机性能配置如果太差,则在运行Wordpress博客和Discuz! 论坛等高消耗程序时能够明显感觉出VPS有些吃力.另外,即使VPS主机的CPU.内存.硬盘I/O等性能足够好,但是在面对大流量 ...

  7. centos LNMP第一部分环境搭建 LAMP LNMP安装先后顺序 php安装 安装nginx 编写nginx启动脚本 懒汉模式 mv /usr/php/{p.conf.default,p.conf} php运行方式SAPI介绍 第二十三节课

    centos  LNMP第一部分环境搭建 LAMP安装先后顺序  LNMP安装先后顺序 php安装 安装nginx  编写nginx启动脚本   懒汉模式  mv   /usr/local/php/{ ...

  8. lnmp安装exif扩展

    lnmp安装exif扩展 1.找到位置 cd /usr/local/lnmp1.4-full/src 2.解压php sudo bzip2 -d php-5.6.31.tar.bz2 sudo tar ...

  9. lnmp安装mysql

    lnmp安装mysql 下载lnmp wget http://soft.vpser.net/lnmp/lnmp1.6.tar.gz 解压 tar ‐xf lnmp1..tar.gz 安装数据库 ./i ...

  10. linux lnmp安装2个版本PHP教程

    linux lnmp安装2个版本PHP教程我原先装了5.6版本的PHP 后来想装个PHP7.0.14版本 一方面看看稳定性 另一方面看看性能怎么样 其实原理很简单 php-fpm开启了1个端口来管理P ...

随机推荐

  1. :模板方法模式:Beverage

    #ifndef __COFFINEBEVERAGE_H__ #define __COFFINEBEVERAGE_H__ #include <iostream> using namespac ...

  2. 5.5 C++重载赋值操作符

    参考:http://www.weixueyuan.net/view/6383.html 总结: 重载赋值操作符同重载类的是拷贝构造函数的原因是一样,将一个对象拷贝给另一个对象,同时当类中存在指针类型的 ...

  3. 《软件调试 Windows概要》

    操作系统是计算机系统中的基本软件.它负责管理系统中的软硬件资源.通常都包括文件管理.内存管理.进程管理.打印管理.网络管理等基本功能.除此之外,支持调试也是操作系统设计的一项根本任务. 0x01  进 ...

  4. CSS学习笔记-01-2D转换模块

    首先,mark 一下  css3 新增 的 2D 转换之 W3school 的链接: http://www.w3school.com.cn/css3/css3_2dtransform.asp 转换是使 ...

  5. 10个HTML5美化版复选框和单选框

    单选框Radiobox和复选框checkbox在网页中也十分常见,虽然它没有按钮的交互性强,但是如果能把它们像按钮那样美化一下,那也是非常不错的.本文收集了10个相对比较漂亮的美化版单选框和复选框,希 ...

  6. SQL--数据--基本操作

    数据操作 新增数据 有两种方案方案1:给全表字段插入数据,不需要指定字段列表:要求数据的值出现的顺序必须与表中设计的字段出现的顺序一致:凡是非数值数据,都需要使用引号(建议是单引号)包裹 insert ...

  7. <Impala><Overview><UDF>

    Overview Apache Impala (incubating) is the open source, native analytic database for apache Hadoop. ...

  8. Mysql数据库文件迁移并修改默认数据文件存储位置

    环境: 1.两台Win10电脑 2.MySql5.6 过程: 1.原电脑停止MySql服务 2.复制C:\ProgramData\MySQL\MySQL Server 5.6\data文件夹到目标电脑 ...

  9. python上传图片并识别图片

    from json_response import JsonResponse from aip import AipOcr import os import time BASE_DIR = os.pa ...

  10. scrapy框架简介和基础应用

    scrapy框架介绍 环境安装 基础使用 一.什么是Scrapy? Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架,非常出名,非常强悍.所谓的框架就是一个已经被集成了各种功能(高性 ...