centos6源码编译安装lnmp环境

操作系统 版本

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

[[email protected] 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. 解压
[[email protected] tmp]# tar xf mysql-5.5.32-linux2.6-x86_64.tar.gz 
  1. 把解压完的数据移动到/usr/local/mysql
[[email protected] tmp]# mv mysql-5.5.32-linux2.6-x86_64 /usr/local/mysql
  1. 建立mysql用户
[[email protected] tmp]# useradd -s /sbin/nologin mysql
  1. 初始化数据库

[[email protected] tmp]# useradd -s /sbin/nologin mysql
[[email protected] tmp]# cd /usr/local/mysql/
[[email protected] mysql]# mkdir -p /data/mysql;chown -R mysql:mysql /data/mysql
[[email protected] 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” 说明执行正确,否则请仔细查看错误信息。

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

[[email protected] mysql]# cp support-files/mysql.server /etc/init.d/mysqld
[[email protected] mysql]# chmod 755 /etc/init.d/mysqld

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

[[email protected] mysql]# ps aux |grep mysqld

二.编译安装nginx

1.下载nginx的源码包

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

2.解压安装


[[email protected] ~]# cd /tmp/
[[email protected] tmp]# tar xf nginx-1.8.1.tar.gz

[[email protected] tmp]# cd nginx-1.8.1
[[email protected] 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
[[email protected] nginx-1.8.1]# 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 2;
error_log /usr/local/nginx/logs/nginx_error.log crit;
pid /usr/local/nginx/logs/nginx.pid;
worker_rlimit_nofile 51200;

events
{
    use epoll;
    worker_connections 6000;
}

http
{
    include mime.types;
    default_type application/octet-stream;
    server_names_hash_bucket_size 3526;
    server_names_hash_max_size 4096;
    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 30;
    client_header_timeout 3m;
    client_body_timeout 3m;
    send_timeout 3m;
    connection_pool_size 256;
    client_header_buffer_size 1k;
    large_client_header_buffers 8 4k;
    request_pool_size 4k;
    output_buffers 4 32k;
    postpone_output 1460;
    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 4 8k;
    gzip_comp_level 5;
    gzip_http_version 1.1;
    gzip_types text/plain application/x-javascript text/css text/htm application/xml;

server
{
    listen 80;
    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;
    }

}

}

检查是否有错

[[email protected] nginx-1.8.1]# /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
[[email protected] ~]# wget -P /tmp http://am1.php.net/distributions/php-5.3.27.tar.gz
  1. 解压php
[[email protected] src]# tar zxf php-5.3.27.tar.gz
  1. 创建相关账户
[[email protected] tmp]# useradd -s /sbin/nologin php-fpm
  1. 配置编译参数
[[email protected] tmp]# cd php-5.3.27
[[email protected] php-5.3.27]# ./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 = 50
pm.start_servers = 20
pm.min_spare_servers = 5
pm.max_spare_servers = 35
pm.max_requests = 500
rlimit_files = 1024

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

/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 755 /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/2.php

内容如下:

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

测试:

[[email protected] ~]# curl localhost/2.php
测试php是否解析[[email protected] ~]#

原文地址:https://www.cnblogs.com/benjamin77/p/8552562.html

时间: 2024-11-08 21:08:50

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

源码编译安装lnmp环境

一.源码编译安装步骤 首先说明源码安装的好处   速度快,可自定义路径 主要有三步:1.配置 进入源码安装包  ./configure --prefix=/uer/local/nginx  可指定参数--prefix为安装路径2.编译 相当于rpm包  make3.安装 make install 如果安装出错,先清楚一下 make clean,然后重新配置编译安装 二.安装nginx 1.安装可能需要的依赖环境, yum -y install libxml2-devel gd-devel lib

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

实验环境及软件版本: CentOS版本: 6.6(2.6.32.-504.el6.x86_64) apache版本: nginx-1.6.2 mysql版本:  Mysql-5.6.23 php版本:    php-5.6.3 一.关闭防火墙:service iptables stop chkconfig iptables off 二.关闭selinux: sed -i 's/SELINUX=disabled/SELINUX=enforcing/g' /etc/selinux/config in

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

安装顺序 php --- nginx -- mysql 安装php-5.6.30: 1 环境准备 yum install gcc bison bison-devel zlib-devel libmcrypt-devel mcrypt mhash-devel openssl-devel libxml2-devel libcurl-devel bzip2-devel readline-devel libedit-devel sqlite-devel jemalloc jemalloc-devel y

cenos6.5源码包安装lnmp环境

虽然centos6可以用yum安装nginx,但是我还是写个教程用源码包安装用于线上环境. 一:在nginx官网下载nginx,并安装 我下载的是nginx-1.6.0 #./configure --prefix=/usr/local/nginx make&& make install 卸载已存在的apache服务和php [[email protected] Desktop]# yum remove httpd php* 安装development Tools [[email prote

源码编译安装lnmp架构

lnmp的架构 lnmp架构为:linux +nginx +mysql+php/perl/python,我们将只用linux(rhel6.5)+nginx+mysql+php构建企业web架构 环境:RHEL6.5 iptables -F selinux is  disabled 注意:在搭建lnmp环境前,必须检测系统内部不能存在相关的软件:(纯净搭建) #rpm -qa | grep php #rpm -qa | grep httpd #rpm -qa | grep mysql 1.ngin

CentOS7.4 源码编译安装LNMP

1.基于CentOS7.4源码编译安装得lnmp 系统环境CentOS 7.4 系统最小化安装,只安装了一些常用包(vim.lirzs.gcc*.wget.bash-completion) nginx版本1.14.0 mysql版本5.7.20 php版本7.2.6 1.1 下载网络yum源 [[email protected]_4 ~]# wget http://mirrors.aliyun.com/repo/Centos-7.repo -P /etc/yum.repos.d/    #这里安

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

实验环境及软件版本: CentOS版本: 6.6(2.6.32.-504.el6.x86_64) apache版本: apache2.2.27 mysql版本:  Mysql-5.6.23 php版本:    php-5.3.27 一.关闭防火墙:service iptables stop chkconfig iptables off 二.关闭selinux: sed -i 's/SELINUX=disabled/SELINUX=enforcing/g' /etc/selinux/config

源码编译安装LNMP架构环境

OS版本:2.6.32-431.el6.x86_64 Nginx版本:nginx-1.6.1 mariadb版本:mariadb-10.0.13 php版本:php-5.4.26 1.安装编译安装所需系统环境 ~]# yum groupinstall "Development Tools" "Server Platform Development" -y 2.编译安装nginx-1.6.1 # yum -y install pcre-devel openssl-de

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

PHP7 都出来了,你还在玩PHP5吗? MySQL5.6 早都出来了,你还在玩MySql5.2吗? Apache2.4 早都出来了,你还在玩Apache2.2吗? 笔者不才,愿意亲自搭建环境,供搭建参考.这里是源码安装的奥,什么一键安装包,什么yum安装,什么rpm安装都统统略过(笔者是一个自虐狂,就像windows下安装软件一样,不喜欢安装在默认的位置也就是C盘了,否则系统盘就爆了) 安装之前了,要说明下,要保证PHP在最后安装,原因后面揭晓.安装任何一个软件之前,都要确保它所依赖的库都安装