CentOS6系统源码安装LNMP环境详解

前端之家收集整理的这篇文章主要介绍了CentOS6系统源码安装LNMP环境详解前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。


一、安装Nginx

以下命令均在root权限下执行,普通用户可通过su命令切换
1.安装依赖

yuminstallgcc-c++
yuminstallpcrepcre-devel
yuminstallopensslopenssl-devel

2.下载源码

wgethttp://Nginx.org/download/Nginx-1.8.1.tar.gztar-zxvfNginx-1.8.1.tar.gzcdNginx-1.8.1

3.创建Nginx用户

useradd-M-s/sbin/nologinNginx

-M 表示不创建home目录
-s 指定shell为不登录

4.配置编译

./configure \

--prefix=/usr/local/Nginx \

--with-http_stub_status_module \

--with-http_ssl_module \

--user=Nginx \

--group=Nginx


make && make install


5.启动Nginx
进入Nginx的安装目录,即上面--prefix参数指定的

cd/usr/local/Nginx
sbin/Nginx

打开浏览器即可访问了。

1240


访问地址为本地地址

1240


访问地址为:192.168.253.131

注意如果是远程浏览器不能访问,可能是防火墙的80端口默认没有开启,需要开启这个端口。

打开/etc/sysconfig/iptables,在
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
下面添加
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
保存,并执行:service iptables restart

6.启动关闭Nginx命令

检查Nginx配置文件是否正确

/usr/local/Nginx/sbin/Nginx-t

启动Nginx

/usr/local/Nginx/sbin/Nginx

关闭Nginx

/usr/local/Nginx/sbin/Nginx-sstop或pkillNginx

重启Nginx

/usr/local/Nginx/sbin/Nginx-sreload

7.添加系统服务
当然也可以将可以将Nginx作为系统服务管理,将下面启动脚本(参考:nginx.com)加入/etc/init.d/Nginx中,赋予可执行权限。

#!/bin/sh

#

# Nginx - this script starts and stops the Nginx daemin

#

# chkconfig: - 85 15

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

# proxy and IMAP/POP3 proxy server

# processname: Nginx

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

# pidfile: /usr/local/Nginx/logs/Nginx.pid


# Source function library.

. /etc/rc.d/init.d/functions


# Source networking configuration.

. /etc/sysconfig/network


# 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"


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

}


restart() {

configtest || return $?

stop

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|configtest)

$1

;;

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|configtest}"

exit 2

esac


然后,可以使用如下命令:

serviceNginx{start|stop|status|restart|reload|configtest}

也可以将Nginx服务加入开机启动:

chkconfigNginxon

二、安装MysqL

1.安装依赖

yuminstallmakecmakegcc-c++bison-develncurses-devel

有的依赖包可能已经安装过了,可以用rpm -qa package-name查询是否已经安装。

2.下载源码

wget https://cdn.MysqL.com//Downloads/MysqL-5.5/MysqL-5.5.54.tar.gz

tar -zxvf MysqL-5.5.49.tar.gz

cd MysqL-5.5.49.tar.gz


3.创建MysqL用户

useradd-M-s/sbin/nologinMysqL

4.配置编译

cmake . \

-DCMAKE_INSTALL_PREFIX=/usr/local/MysqL \

-DMysqL_DATADIR=/usr/local/MysqL/data \

-DSYSCONFDIR=/etc \

-DWITH_MYISAM_STORAGE_ENGINE=1 \

-DWITH_INNOBASE_STORAGE_ENGINE=1 \

-DWITH_MEMORY_STORAGE_ENGINE=1 \

-DWITH_READLINE=1 \

-DENABLE_LOCAL_INFILE=1 \

-DDEFAULT_CHARSET=utf8 \

-DDEFAULT_COLLATION=utf8_general_ci \

-DEXTRA_CHARSETS=all \

-DWITH_PARTITION_STORAGE_ENGINE=1 \

-DMysqL_UNIX_ADDR=/usr/local/MysqL/data/MysqL.sock \

-DMysqL_TCP_PORT=3306 \

-DMysqL_USER=MysqL


make && make install


5.配置MysqL
修改/usr/local/MysqL权限

chown-RMysqL:MysqL/usr/local/MysqL

复制配置文件复制前注意查看/etc目录下是否有my.cnf文件,如果有,先将其备份为其他文件

cp /etc/my.cnf /etc/my.cnf.backup

cd /usr/local/MysqL

cp support-files/my-small.cnf /etc/my.cnf


执行初始化配置脚本,创建系统自带数据库和表

chmod +x scripts/MysqL_install_db

scripts/MysqL_install_db \

--basedir=/usr/local/MysqL \

--datadir=/usr/local/MysqL/data \

--user=MysqL


6.添加系统服务
复制服务脚本到/etc/init.d目录,并设置开机启动

cp support-files/MysqL.server /etc/init.d/MysqL

chmod +x /etc/init.d/MysqL

chkconfig MysqL on

#启动MysqL

service MysqL start

#停止MysqL

service MysqL stop

#重启MysqL

service MysqL restart


7.命令行登陆MysqL
首先将MysqL登陆命令的路径加入PATH中,修改/etc/profile文件,在文件末尾加上

PATH=/usr/local/MysqL/bin:$PATHexportPATH

关闭文件,然后执行source /etc/profile让配置立即生效
登陆MysqL修改root用户密码

MysqL-urootsetpassword=password('123456');

下次登陆时就需要密码。

MysqL-uroot-p

注意
如果远程登陆MysqL出错,可能是防火墙的3306端口默认没有打开。同上面Nginx开启防火墙80端口一样,在/etc/sysconfig/iptables文件加入:

-AINPUT-mstate--stateNEW-mtcp-ptcp--dport3306-jACCEPT

保存,并执行:service iptables restart

三、安装PHP

1.安装依赖

yuminstalllibxml2-developenssl-devellibcurl-devel
gd-devellibpng-develfreetype-devel
libjpeg-develzlib-devel

解决yum无法安装libiconv库

wgethttp://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz
tar-zxvflibiconv-1.14.tar.gz
cdlibiconv-1.14./configure--prefix=/usr/local/libiconv
make&&makeinstall

另外,centos默认的yum源里没有libmcrypt-devel,这里使用阿里云的yum源安装。

wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo


yum install libmcrypt-devel mcrypt mhash


2.下载源码

wget -O PHP-5.6.19.tar.gz http://cn2.PHP.net/get/PHP-5.6.19.tar.gz/from/this/mirror

tar -zxvf PHP-5.6.19.tar.gz

cd PHP-5.6.19


3.配置编译

./configure \

--prefix=/usr/local/PHP \

--with-MysqL=MysqLnd \

--with-MysqLi=MysqLnd \

--with-pdo-MysqL=MysqLnd \

--enable-opcache \

--enable-fpm \

--with-iconv-dir=/usr/local/libiconv \

--with-freetype-dir \

--with-jpeg-dir \

--with-png-dir \

--with-zlib \

--with-libxml-dir=/usr \

--enable-xml \

--disable-rpath \

--enable-bcmath \

--enable-shmop \

--enable-sysvsem \

--enable-inline-optimization \

--with-curl \

--with-curlwrappers \

--enable-mbregex \

--with-mcrypt \

--with-gd \

--enable-gd-native-ttf \

--with-openssl \

--with-mhash \

--enable-pcntl \

--enable-sockets \

--with-xmlrpc \

--enable-zip \

--enable-soap


make && make install


这里特别说明下MysqLnd,MysqLnd是PHP官方自带MysqL驱动,这样安装PHP不需要提前安装MysqL了。像--with-MysqL=/usr/local/MysqL这样使用的是MysqL官方自带MysqL驱动,需要提前安装MysqL

4.启动PHP

首先将PHP命令路径加入PATH中,修改/etc/profile文件,在文件末尾加上

PATH=/usr/local/PHP/bin:$PATH

export PATH


source /etc/profile让配置立即生效
然后复制源码目录中的PHP.ini-development到/usr/local/PHP/lib/PHP.ini

cpPHP.ini-development/usr/local/PHP/lib/PHP.ini

5.启动PHP-fpm并添加系统服务

PHP-FPM是一个PHP FastCGI管理器,主要用于配合web服务器处理PHP文件

PHP-fpm命令位于/usr/local/PHP/sbin目录下,启动脚本在源代码目录的sapi/fpm子目录下。复制PHP-fpm启动脚本到/etc/init.d/PHP-fpm,设置开机启动。
复制/usr/local/PHP/etc/PHP-fpm.conf.default到/usr/local/PHP/etc/PHP-fpm.conf

cp sapi/fpm/init.d.PHP-fpm /etc/init.d/PHP-fpm


chmod +x /etc/init.d/PHP-fpm

chkconfig PHP-fpm on


cp /usr/local/PHP/etc/PHP-fpm.conf.default /usr/local/PHP/etc/PHP-fpm.conf


#启动PHP-fpm

service PHP-fpm start

#停止PHP-fpm

service PHP-fpm stop

#重启PHP-fpm

service PHP-fpm restart


四、测试

为了让Nginx能够处理PHP,需要修改Nginx配置文件Nginx.conf),将下面的配置:

#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;

#}


修改为:

location ~ \.PHP$ {

root html;

fastcgi_pass 127.0.0.1:9000;

fastcgi_index index.PHP;

include fastcgi.conf;

}

在/usr/local/Nginx/html目录下创建一个test.PHP文件内容如下:

<?PHP

$con = MysqLi_connect("127.0.0.1","root","123456");

if (!$con) {

die("Could not connect:" . MysqLi_error($con));

}


if (MysqLi_query($con,'create database zhou')) {

echo 'Database created!';

} else {

echo 'Database created error:',MysqLi_error($con);

}


MysqLi_close($con);


打开浏览器访问:127.0.0.1/test.PHP。登陆MysqL,查看数据库zhou是否创建成功,如果创建成功表明LNMP环境搭建完成。

原文链接:https://www.f2er.com/centos/377838.html

猜你在找的CentOS相关文章