centos6安装lnmp

centos安装lnmp

yum 安装依赖

# yum -y install gcc 
# yum -y install gcc-c++
# yum -y install autoconf
# yum -y install automake

安装开发库

# yum -y  install zlib
# yum -y install zlib-devel
# yum -y install openssl
# yum -y install openssl-devel
# yum -y install pcre
# yum -y install pcre-devel

安装nginx


--prefix表示nginx要安装到哪个路径下,这里指定刚才新建好的/alidata/server目录下的nginx-1.12.2;

--sbin-path表示nginx的可执行文件存放路径

--conf-path表示nginx的主配置文件存放路径,nginx允许使用不同的配置文件启动,通过命令行中的-c选项

--pid-path表示nginx.pid文件的存放路径,将存储的主进程的进程号。安装完成后,可以随时改变的文件名 , 在nginx.conf配置文件中使用 PID指令。默认情况下,文件名 为prefix/logs/nginx.pid

--error-log-path表示nginx的主错误、警告、和诊断文件存放路径

--http-log-path表示nginx的主请求的HTTP服务器的日志文件的存放路径

--user表示nginx工作进程的用户

--group表示nginx工作进程的用户组

--with-select_module或--without-select_module表示启用或禁用构建一个模块来允许服务器使用select()方法

--with-poll_module或--without-poll_module表示启用或禁用构建一个模块来允许服务器使用poll()方法

--with-http_ssl_module表示使用https协议模块。默认情况下,该模块没有被构建。建立并运行此模块的OpenSSL库是必需的

--with-pcre表示pcre的源码路径,因为解压后的pcre是放在root目录下的,所以是/root/pcre-8.41;

--with-zlib表示zlib的源码路径,这里因为解压后的zlib是放在root目录下的,所以是/root/zlib-1.2.11

--with-openssl表示openssl库的源码路径
# wget http://nginx.org/download/nginx-1.16.0.tar.gz
# tar zxvf ngix-1.16.0.tar.gz
# cd ngix
# ./configure --prefix=/usr/local/nginx
# make & make install

nginx 启动

修改配置文件,指定根目录
进入sbin 目录

# ./nginx -t //检查配置文件是否正确
# ./nginx  //启动
# ./nginx -s reload //平滑重启

#ps -ef | grep nginx //查看Nginx进程
nginx 加入系统环境变量

使用vim命令打开/etc/profile文件,在文件最末尾加上如下代码

export = NGINX_HOME = /usr/local/nginx
export = $PATH:$NGINX_HOME/sbin

保存修改后,使用source命令重新加载配置文件,命令如下

source /etc/profile
加入系统服务

使用vim命令在/etc/init.d/目录下创建一个nginx文件,命令如下

vim /etc/init.d/nginx

内容如下


#!/bin/bash
# chkconfig: - 85 15
PATH=/usr/local/nginx
DESC="nginx daemon"
NAME=nginx
DAEMON=$PATH/sbin/$NAME
CONFIGFILE=$PATH/conf/$NAME.conf
PIDFILE=$PATH/logs/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME
set -e
[ -x "$DAEMON" ] || exit 0
do_start() {
$DAEMON -c $CONFIGFILE || echo -n "nginx already running"
}
do_stop() {
$DAEMON -s stop || echo -n "nginx not running"
}
do_reload() {
$DAEMON -s reload || echo -n "nginx can't reload"
}
case "$1" in
start)
echo -n "Starting $DESC: $NAME"
do_start
echo "."
;;
stop)
echo -n "Stopping $DESC: $NAME"
do_stop
echo "."
;;
reload|graceful)
echo -n "Reloading $DESC configuration..."
do_reload
echo "."
;;
restart)
echo -n "Restarting $DESC: $NAME"
do_stop
do_start
echo "."
;;
*)
echo "Usage: $SCRIPTNAME {start|stop|reload|restart}"
exit 3
;;
esac
exit 0

其中,需要注意几个变量,分别是PATH、NAME、DAEMON、CONFIGFILE、PIDFILE、SCRIPTNAME,其中,PATH设置为nginx的安装路径,DAEMON设置为nginx启动脚本的路径,CONFIGFILE是nginx.conf文件的路径,PIDFILE是进程文件的路径,需要与nginx.conf文件中的配置一致,SCRIPTNAME则是要指向当前文件路径/etc/init.d/nginx 

启动Nginx服务

/etc/init.d/nginx start
设置nginx开机自启动
chkconfig --add nginx
chkconfig nginx on
php安装

php 库安装

yum -y install libmcrypt-devel mhash-devel 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 krb5-devel libidn libidn-devel openssl openssl-devel
./configure --prefix=/usr/local/php-7.3.7  --enable-fpm  --enable-mbstring --enable-pdo --with-curl  --with-bz2  --with-zlib --enable-sockets --enable-sysvsem --enable-sysvshm --enable-pcntl --enable-mbregex --with-mhash --enable-zip --with-pcre-regex --with-mysqli --with-gd --with-jpeg-dir --with-freetype-dir --enable-calendar

make & make install

//启动php
/usr/local/php-7.3.1/sbin/php-fpm -R
加入环境变量

使用vim命令打开/etc/profile文件,在文件最末尾加上如下代码

export PHP_HOME=/usr/local/php-7.3.7
export PATH=$PATH:$PHP_HOME/bin:$PHP_HOME/sbin

保存修改后,使用source命令重新加载配置文件,命令如下

source /etc/profile

执行上述命令后,可使用

echo $PATH
加入系统服务

使用vim命令在/etc/init.d/目录下创建一个php-fpm文件,命令如下

vim /etc/init.d/php-fpm

文件内容如下

#!/bin/bash
# php-fpm startup script for the php-fpm 
# php-fpm version:7.3.7
# chkconfig: - 85 15
# description: php-fpm
# processname: php-fpm
# pidfile: /usr/local/php-7.3.7var/run/php-fpm.pid
# config: /usr/local/php-7.3.7/etc/php-fpm.conf

php_command=/usr/local/php-7.3.7/sbin/php-fom
php_config=/usr/local/php-7.3.7/etc/php-fpm.conf
php_pid=/usr/local/php-7.3.7/var/run/php-fpm.pid
RETVAL=0
prog="php-fpm"
#start function
php_fpm_start() {
    /usr/local/php-7.3.7/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

其中,php_command表示php-fpm可执行脚本的路径,php_config表示php-fpm的配置文件路径,php_pid表示php-fpm进程文件的路径

设置php-fpm开机自启动

经过上面的操作,php-fpm已被添加为系统服务,所以可以将其设置为开机自启动,这样就可以避免每次服务器重启之后需要手动开启php-fpm的操作,具体命令如下

chkconfig --add php-fpm
chkconfig php-fpm on

./configure --with-openssl -with-php-config=/usr/local/php7.3.7/bin/php-config

猜你喜欢

转载自www.cnblogs.com/luwz/p/11471171.html