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. Ubuntu16.04 安装Tensorflow-CPU

    最近我开始学习深度学习框架Tensorflow,一开始在windows平台下的anaconda下安装,由于anaconda安装几次后navigator打开老是出现闪退的问题,所以决定换个ubuntu下 ...

  2. maven3.5.0在win10中的安装及环境变量配置

    1.maven的下载地址http://maven.apache.org/download.cgi.如下图,下载apache-maven-3.5.0-bin.zip 2.解压缩到自己指定的文件下,mav ...

  3. L248 词汇题 2006

    The audience, hostile at first, were greatly impressed by her excellent performance. He wanted to st ...

  4. day 33 线程池有关的

    # cpu 的核心数# import os# print(os.cpu_count()) ## 爬虫的进程和线程的应用# 第一步 虚拟一个浏览器下载 在cmd 里输入 pip install requ ...

  5. Java基础(2)面向对象和封装,对象的创建和使用、java对象的内存图

    1 类和对象 类:是一类事物的描述,抽象的.猫 对象:是一类事物的实例,具体的.某只猫 2 类的定义 成员变量和成员方法 //定义一个学生类 public class Student { //成员变量 ...

  6. 【linux基础】使用命令行编译运行c++程序

    前言 在linux系统运行程序,小鹅知道的有3种编译方式,一种是直接命令行编译,一种是使用Cmake,一种是使用脚本文件(*.sh).本文介绍的是使用命令行编译. 使用过程 注意不同系统的编译器版本可 ...

  7. [Data Structure] An Algorithm for Matching Delimiters

    An important task when processing arithmetic expressions is to mach delimiters. We can use Stack to ...

  8. Unity打包/读取AssetBundle资源全教程

    Unity 资源AssetBundle打包 本文提供全流程,中文翻译. Chinar 坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) Chinar ...

  9. 阿里druid数据库连接池配置

    <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.sp ...

  10. lvm创建 及 扩空 等相关

    1.先对磁盘进行LVM 设置 2.pvcreate  物理卷的创建 pvcreate /dev/### 3.vgcreate 物理卷组的创建 vgcreate  vg_name  /dev/###  ...