操作系统 版本

64位 CentOS-6.6    10.0.0.20

安装环境所需依赖包

yum -y install gcc automake autoconf libtool make gcc-c++ glibc libxslt-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5-devel libidn libidn-devel openssl openssl-devel pcre pcre-devel libmcrypt libmcrypt-devel cmake

pcre、openssl、zlib是安装nginx时需要的 
cmake是安装mysql时需要的

lnmp 是 linux+nginx+mysql+php 的缩写

一.编译安装mysql

  1. 上传下载mysql到/tmp

[root@manager tmp]# rz
rz waiting to receive.
Starting zmodem transfer. Press Ctrl+C to cancel.
Transferring mysql-5.5.32-linux2.6-x86_64.tar.gz...
100% 182346 KB 20260 KB/sec 00:00:09 0 Errors

  1. 解压
[root@manager tmp]# tar xf mysql-5.5.32-linux2.6-x86_64.tar.gz 
  1. 把解压完的数据移动到/usr/local/mysql
[root@manager tmp]# mv mysql-5.5.32-linux2.6-x86_64 /usr/local/mysql
  1. 建立mysql用户
[root@manager tmp]# useradd -s /sbin/nologin mysql
  1. 初始化数据库

[root@manager tmp]# useradd -s /sbin/nologin mysql
[root@manager tmp]# cd /usr/local/mysql/
[root@manager mysql]# mkdir -p /data/mysql;chown -R mysql:mysql /data/mysql
[root@manager mysql]# ./scripts/mysql_install_db --user=mysql --datadir=/data/mysql
WARNING: The host 'manager' could not be looked up with resolveip.
This probably means that your libc libraries are not 100 % compatible
with this binary MySQL version. The MySQL daemon, mysqld, should work
normally with the exception that host name resolving will not work.
This means that you should use IP addresses instead of hostnames
when specifying MySQL privileges !
Installing MySQL system tables...
OK
Filling help tables...
OK

--user 定义数据库的所属主, --datadir 定义数据库安装到哪里,建议放到大空间的分区上,这个目录需要自行创建。这一步骤很关键,如果你看到两个 “OK” 说明执行正确,否则请仔细查看错误信息。

[root@manager mysql]# cp support-files/my-large.cnf /etc/my.cnf 
  1. 拷贝启动脚本文件并修改其属性

[root@manager mysql]# cp support-files/mysql.server /etc/init.d/mysqld
[root@manager mysql]# chmod 755 /etc/init.d/mysqld

  1. 修改启动脚本
[root@localhost mysql]# vim /etc/init.d/mysqld
需要修改的地方有 “datadir=/data/mysql” (前面初始化数据库时定义的目录)
  1. 把启动脚本加入系统服务项,并设定开机启动,启动mysql
[root@localhost mysql]# chkconfig --add mysqld
[root@localhost mysql]# chkconfig mysqld on
[root@localhost mysql]# service mysqld start
如果启动不了,请到 /data/mysql/ 下查看错误日志,这个日志通常是主机名.err. 检查mysql是否启动的命令为: [root@localhost mysql]# ps aux |grep mysqld

二.编译安装nginx

1.下载nginx的源码包

wget -P /tmp http://nginx.org/download/nginx-1.8.1.tar.gz   #指定下载保存到/tmp目录下

2.解压安装


[root@manager ~]# cd /tmp/
[root@manager tmp]# tar xf nginx-1.8.1.tar.gz

[root@manager tmp]# cd nginx-1.8.1
[root@manager nginx-1.8.1]# ./configure --help(查看参数)

3、编译nginx 
如果指定用户和用户组,需要先创建

#创建用户www和用户组www
groupadd www
useradd -g www www

4.指定参数编译安装

cd nginx-1.4.4
./configure \
--prefix=/usr/local/nginx \
--with-http_realip_module \
--with-http_sub_module \
--with-http_gzip_static_module \
--with-http_stub_status_module \
--with-pcre
[root@manager nginx-1.8.]# make && make install

5.编写nginx启动脚本,并加入系统服务

vim /etc/init.d/nginx
#!/bin/bash
# chkconfig: - 30 21
# description: http service.
# Source Function Library
. /etc/init.d/functions
# Nginx Settings NGINX_SBIN="/usr/local/nginx/sbin/nginx"
NGINX_CONF="/usr/local/nginx/conf/nginx.conf"
NGINX_PID="/usr/local/nginx/logs/nginx.pid"
RETVAL=0
prog="Nginx" start() {
echo -n $"Starting $prog: "
mkdir -p /dev/shm/nginx_temp
daemon $NGINX_SBIN -c $NGINX_CONF
RETVAL=$?
echo
return $RETVAL
} stop() {
echo -n $"Stopping $prog: "
killproc -p $NGINX_PID $NGINX_SBIN -TERM
rm -rf /dev/shm/nginx_temp
RETVAL=$?
echo
return $RETVAL
} reload(){
echo -n $"Reloading $prog: "
killproc -p $NGINX_PID $NGINX_SBIN -HUP
RETVAL=$?
echo
return $RETVAL
} restart(){
stop
start
} configtest(){
$NGINX_SBIN -c $NGINX_CONF -t
return 0
} case "$1" in
start)
start
;;
stop)
stop
;;
reload)
reload
;;
restart)
restart
;;
configtest)
configtest
;;
*)
echo $"Usage: $0 {start|stop|reload|restart|configtest}"
RETVAL=1
esac exit $RETVAL

保存后,更改权限:

chmod 755 /etc/init.d/nginx
chkconfig --add nginx

如果想开机启动,请执行:

chkconfig nginx on

6.更改nginx配置

更改nginx配置
首先把原来的配置文件清空(先备份): > /usr/local/nginx/conf/nginx.conf vim /usr/local/nginx/conf/nginx.conf
写入如下内容: user nobody nobody;
worker_processes ;
error_log /usr/local/nginx/logs/nginx_error.log crit;
pid /usr/local/nginx/logs/nginx.pid;
worker_rlimit_nofile ; events
{
use epoll;
worker_connections ;
} http
{
include mime.types;
default_type application/octet-stream;
server_names_hash_bucket_size ;
server_names_hash_max_size ;
log_format combined_realip '$remote_addr $http_x_forwarded_for [$time_local]'
'$host "$request_uri" $status'
'"$http_referer" "$http_user_agent"';
sendfile on;
tcp_nopush on;
keepalive_timeout ;
client_header_timeout 3m;
client_body_timeout 3m;
send_timeout 3m;
connection_pool_size ;
client_header_buffer_size 1k;
large_client_header_buffers 4k;
request_pool_size 4k;
output_buffers 32k;
postpone_output ;
client_max_body_size 10m;
client_body_buffer_size 256k;
client_body_temp_path /usr/local/nginx/client_body_temp;
proxy_temp_path /usr/local/nginx/proxy_temp;
fastcgi_temp_path /usr/local/nginx/fastcgi_temp;
fastcgi_intercept_errors on;
tcp_nodelay on;
gzip on;
gzip_min_length 1k;
gzip_buffers 8k;
gzip_comp_level ;
gzip_http_version 1.1;
gzip_types text/plain application/x-javascript text/css text/htm application/xml; server
{
listen ;
server_name localhost;
index index.html index.htm index.php;
root /usr/local/nginx/html; location ~ \.php$ {
include fastcgi_params;
fastcgi_pass unix:/tmp/php-fcgi.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /usr/local/nginx/html$fastcgi_script_name;
} } }

检查是否有错

[root@manager nginx-1.8.]# /etc/init.d/nginx configtest
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful

登陆网页检验是否成功

三.编译安装php

  1. 下载php
[root@manager ~]# wget -P /tmp http://am1.php.net/distributions/php-5.3.27.tar.gz
  1. 解压php
[root@localhost src]# tar zxf php-5.3.27.tar.gz
  1. 创建相关账户
[root@nginx tmp]# useradd -s /sbin/nologin php-fpm
  1. 配置编译参数
[root@manager tmp]# cd php-5.3.
[root@manger php-5.3.]# ./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 \
--enable-zend-multibyte \
--disable-ipv6 \
--with-pear \
--with-curl \
--with-openssl

5.编译安装

make  && make install

6. 修改配置文件

cp php.ini-production /usr/local/php/etc/php.ini
vim /usr/local/php/etc/php-fpm.conf
[global]
pid = /usr/local/php/var/run/php-fpm.pid
error_log = /usr/local/php/var/log/php-fpm.log
[www]
listen = /tmp/php-fcgi.sock
user = php-fpm
group = php-fpm
pm = dynamic
pm.max_children =
pm.start_servers =
pm.min_spare_servers =
pm.max_spare_servers =
pm.max_requests =
rlimit_files =

保存配置文件后,检验配置是否正确的方法为:

/usr/local/php/sbin/php-fpm -t
[12-Mar-2018 07:37:02] NOTICE: configuration file /usr/local/php/etc/php-fpm.conf test is successful
# 如果出现诸如 “test is successful” 字样,说明配置没有问题。

7.启动php-fpm

cp /tmp/php-5.3.27/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
chmod /etc/init.d/php-fpm
service php-fpm start

如果想让它开机启动,执行:

chkconfig php-fpm on

检测是否启动:

ps aux |grep php-fpm
看看是不是有很多个进程(大概20多个)。

测试是否解析php文件

创建测试文件:

vim /usr/local/nginx/html/.php

内容如下:

<?php
echo "测试php是否解析";
?>

测试:

[root@manager ~]# curl localhost/2.php
测试php是否解析[root@manager ~]#

centos6源码编译安装lnmp环境的更多相关文章

  1. 源码编译安装lnmp环境

    一.源码编译安装步骤 首先说明源码安装的好处   速度快,可自定义路径 主要有三步:1.配置 进入源码安装包  ./configure --prefix=/uer/local/nginx  可指定参数 ...

  2. 源码编译安装LNMP环境及配置基于域名访问的多虚拟主机

    实验环境及软件版本: CentOS版本: 6.6(2.6.32.-504.el6.x86_64) nginx版本: nginx-1.6.2 mysql版本:  Mysql-5.6.23 php版本: ...

  3. 源码编译安装lnmp环境(nginx-1.14.2 + mysql-5.6.43 + php-5.6.30 )------踩了无数坑,重装了十几次服务器才会的,不容易啊!

    和LAMP不同的是,LNMP中的N指的是Nginx(类似于Apache的一种web服务软件),并且php是作为一个独立服务存在的,这个服务叫做php-fpm,Nginx直接处理静态请求,动态请求会转发 ...

  4. WordPress安装篇(5):源码编译安装LNMP并部署WordPress

    与YUM方式安装相比,源码编译安装方式更灵活,安装过程中能自定义功能和参数,特别是在批量部署服务器又要求软件版本及配置一致时,源码编译安装的优势很明显.本文介绍如何通过源码编译方式安装Nginx1.1 ...

  5. 源码编译搭建LNMP环境

    LNMP源码编译 1.LNMP介绍 LNMP=Linux Nginx Mysql PHP Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 服务器.Ng ...

  6. 源码编译安装LAMP环境及配置基于域名访问的多虚拟主机

    实验环境及软件版本: CentOS版本: 6.6(2.6.32.-504.el6.x86_64) apache版本: apache2.2.27 mysql版本:  Mysql-5.6.23 php版本 ...

  7. 年终福利,PHP7+Apache2.4+MySQL5.6 源码编译安装,环境配置,搭建你自己的LAMP环境

    PHP7 都出来了,你还在玩PHP5吗? MySQL5.6 早都出来了,你还在玩MySql5.2吗? Apache2.4 早都出来了,你还在玩Apache2.2吗? 笔者不才,愿意亲自搭建环境,供搭建 ...

  8. centos7源码编译安装LNMP+ZABBIX4.0LTS(1)——nginx

    环境:192.168.117.132--zabbix server192.168.117.133--zabbix proxy 安装路径为/zabbix 安装nginx 1.安装包下载http://ng ...

  9. 源码编译安装 LNMP及论坛

    一.安装Nginx服务 systemctl stop firewalld systemctl disable firewalld setenforce 0 1.安装依赖包 yum -y install ...

随机推荐

  1. 什么是App加壳,以及App加壳的利与弊

    非著名程序员涩郎 非著名程序员,字耿左直右,号涩郎,爱搞机,爱编程,是爬行在移动互联网中的一名码匠!个人微信号:loonggg,微博:涩郎,专注于移动互联网的开发和研究,本号致力于分享IT技术和程序猿 ...

  2. shell脚本简单切割字符串

    我们有这样一个字符串: info='abcd;efgh' 现在想获取abcd和efgh,我们可以简单地用cut工具来获取: fstr=`` sstr=`` 这里主要是用了cut工具的-d和-f参数: ...

  3. 【转载】Linux下安装LoadRunner LoadGenerator

    原文地址:[转载]Linux下安装LoadRunner LoadGenerator作者:邱建忠tester LR的负载机安装在linux的理由: 1.windows xp,双核+4G内存,基本上每个v ...

  4. ul中li元素横向排列且不换行

    ul { white-space: nowrap; } li { display: inline-block; }     white-space 属性设置如何处理元素内的空白. normal 默认. ...

  5. Python导出sql语句结果到Excel

    本文档是因为每周需要统计线上数据库中客户新增资源,手动执行实在是麻烦,就写了个脚本导出到Excel,顺便发一封邮件. (当然这不是线上的真实脚本,不过根据个人需求稍微修改下,还是可以直接用的.拿去不谢 ...

  6. 使用cloudbase-init初始化windows虚拟机

    CloudBase-init简介 cloudbase-init 是 Windows 和其他系统的云初始化程序,可以设置主机名.创建用户.设置静态ip.设置密码等.对应的linux初始化程序是cloud ...

  7. XML转译字符

    &(逻辑与) & <(小于) < >(大于) > "(双引号) " '(单引号) &apos; [/size]

  8. .export*读取图片

    *读取图片 read_image(Image,'D:/MyFile/halcon/数字识别/1.jpg define PHYS_FLASH2_1 0xBC000000 /* Image2 Bank # ...

  9. C#中的&运算

    2是一个比较特殊的数. 2的1次方2 2的2次方4 2的3次方8 2的4次方16 2的5次方32 2的6次方64 2的7次方128 2的8次方256 2的9次方512 2的10次方1024 2的11次 ...

  10. 201621123034 《Java程序设计》第9周学习总结

    作业09-集合与泛型 1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结集合与泛型相关内容. 答:Map的HashMap中使用嵌套类static class Node<K,V& ...