linux 源码搭建lnmp_lnmp源码编译搭建过程详解

服务器环境为Centos7.0

一:安装前的准备工作:

使用yum的方式安装相关的依赖包和库

yum -y install ntp make openssl openssl-devel pcre pcre-devel libpng libpng-devel libjpeg-6b libjpeg-devel-6b freetype freetype-devel gd gd-devel zlib zlib-devel gcc gcc-c++ libXpm libXpm-devel ncurses ncurses-devel libmcrypt libmcrypt-devel libxml2 libxml2-devel imake autoconf automake screen sysstat compat-libstdc++-33 curl curl-devel cmake

到网上下载mysql,nginx,php的源码包.将所有的源码包放置在usr/local/src目录

二,安装nginx

创建www的用户和分组

执行:

groupadd -f www

useradd -g www www

解压缩文件,然后进到nginx-1.8.1里,输入命令:

./configure --user=www --group=www --prefix=/usr/local/nginx

然后make,make install就安装完毕了。

nginx命令在/usr/local/nginx/sbin/下,拷贝到/etc/init.d/一份,接下来设置开机启动。

chmod 755 /etc/init.d/nginx

chkconfig --add nginx

chkconfig nginx on

然后

cd /etc/rc.d/init.d/ 目录下新建nginx,内容如下:

#!/bin/bash

#

# nginx - this script starts and stops the nginx daemon

#

# chkconfig: - 85 15

# description: Nginx is an HTTP(S) server, HTTP(S) reverse

# proxy and IMAP/POP3 proxy server

# processname: nginx

# chkconfig: 2345 90 91

# description: nginx web server

# processname: nginx

# config: /usr/local/nginx/conf/nginx.conf

# pidfile: /usr/local/nginx/nginx.pid

# Source function library.

. /etc/init.d/functions

# Source networking configuration.

. /etc/sysconfig/network

if [ -f /etc/sysconfig/nginx ];then

. /etc/sysconfig/nginx

fi

# Check that networking is up.

[ "$NETWORKING" = "no" ] && exit 0

nginx="/usr/local/nginx/sbin/nginx"

prog=$(basename $nginx)

NGINX_CONF_FILE="/usr/local/nginx/conf/nginx.conf"

[ -f /etc/sysconfig/nginx ] && . /etc/sysconfig/nginx

lockfile=/var/lock/subsys/nginx

start() {

[ -x $nginx ] || exit 5

[ -f $NGINX_CONF_FILE ] || exit 6

echo -n $"Starting $prog: "

daemon $nginx #-c $NGINX_CONF_FILE

retval=$?

echo

[ $retval -eq 0 ] && touch $lockfile

return $retval

}

stop() {

echo -n $"Stopping $prog: "

killproc $prog -QUIT

retval=$?

echo

[ $retval -eq 0 ] && rm -f $lockfile

return $retval

killall -9 nginx

}

restart() {

configtest || return $?

stop

sleep 1

start

}

reload() {

configtest || return $?

echo -n $"Reloading $prog: "

killproc $nginx -HUP

RETVAL=$?

echo

}

force_reload() {

restart

}

configtest() {

$nginx -t #-c $NGINX_CONF_FILE

}

rh_status() {

status $prog

}

rh_status_q() {

rh_status >/dev/null 2>&1

}

case "$1" in

start)

rh_status_q && exit 0

$1

;;

stop)

rh_status_q || exit 0

$1

;;

restart)

$1

;;

test)

configtest

;;

reload)

rh_status_q || exit 7

$1

;;

force-reload)

force_reload

;;

status)

rh_status

;;

condrestart|try-restart)

rh_status_q || exit 0

;;

*)

echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|test}"

exit 2

esac

接下来执行如下命令:

chmod 775 /etc/rc.d/init.d/nginx #赋予执行权限

chkconfig nginx on #设置开机启动

/etc/rc.d/init.d/nginx restart

service nginx restart

至此nginx安装就ok了,但是默认情况下nginx是不支持php的,我们需要做如下操作:

进到/usr/local/nginx/conf目录下,vim nginx.conf,将

location / {

root html;

index index.html index.htm;

}

修改为:

location / {

root html;

index index.php index.html index.htm;

}

location ~ \.php$ {

root html;

fastcgi_pass 127.0.0.1:9000;

fastcgi_index index.php;

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

include fastcgi_params;

}

修改为:

location ~ \.php$ {

root html;

fastcgi_pass 127.0.0.1:9000;

fastcgi_index index.php;

fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;

#include fastcgi_params;

include fastcgi.conf;

}

然后就ok了。

三,安装MySQL

四,安装php

#./configure --prefix=/usr/local/php --enable-fpm --with-fpm-user=www --with-fpm-group=www --with-openssl --with-libxml-dir --with-zlib --enable-mbstring --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --enable-mysqlnd --with-pdo-mysql=/usr/local/mysql --with-gd --with-jpeg-dir --with-png-dir --with-zlib-dir  --with-freetype-dir --with-curl

然后make make install。接着需要做以下事:

1,整合nginx,启动php

进到cd /www/php/etc/ 目录下,拷贝php-fpm.conf.default 为php-fpm.conf。执行/www/php/sbin/php-fpm start 启动php-fpm。

2,配置php.ini

将安装源码里的/www/software/php-5.6.14/php.ini-production 拷贝到php的安装目录的lib文件夹下。

3,编写php-fpm启动脚本

PHP-FPM SHELL脚本  放到/etc/init.d/下 取名php-fpm

#!/bin/bash

# php-fpm startup script for the php-fpm

# chkconfig: - 85 15

# processname: php-fpm

# pidfile: /var/run/php-fpm.pid

# config: /usr/local/php/etc/php-fpm.conf

php_command=/usr/local/php/sbin/php-fom

php_config=/usr/local/php/etc/php-fpm.conf

php_pid=/usr/local/php/var/run/php-fpm.pid

RETVAL=0

prog="php-fpm"

#start function

php_fpm_start() {

/usr/local/php/sbin/php-fpm

}

start(){

if [ -e $php_pid ]

then

echo "php-fpm already start..."

exit 1

fi

php_fpm_start

}

stop(){

if [ -e $php_pid ]

then

parent_pid=`cat $php_pid`

all_pid=`ps -ef | grep php-fpm | awk '{if('$parent_pid' == $3){print $2}}'`

for pid in $all_pid

do

kill $pid

done

kill $parent_pid

fi

exit 1

}

restart(){

stop

start

}

# See how we were called.

case "$1" in

start)

start

;;

stop)

stop

;;

restart)

stop

start

;;

status)

status $prog

RETVAL=$?

;;

*)

echo $"Usage: $prog {start|stop|restart|status}"

exit 1

esac

exit $RETVAL

编写完脚本之后,执行如下操作:

## 添加执行权限

chmod a+x /etc/init.d/php-fpm

## 加入服务

chkconfig --add php-fpm

## 开机自启

chkconfig php-fpm on

至此lnmp环境搭建就完成了!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值