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