Linux初探:nginx的安装和开机启动脚本配置

momo314相同方式共享非商业用途署名转载

.netcore跨平台了,既然要在linux上部署,我首先想到的就是需要一个nginx,然而作为一个菜鸡,linux(我使用CentOS7)玩的并不6,所以记录一下nginx的安装过程,以便以后用到的时候可以照抄。

安装nginx依赖项

据说nginx依赖一些其他库,比如gcc-c++、pcre、zlib、openssl,所以在安装nginx之前需要提前安装好。

$   yum install gcc-c++
$   yum install pcre pcre-devel
$   yum install zlib zlib-devel
$   yum install openssl openssl--devel

安装nginx

  1. 首先,进入一个你喜欢的目录(我喜欢/usr/local/download),然后开始下载最新版nginx

    最新版的nginx下载链接可以从 nginx官网下载页 找到。

     $   cd /usr/local
     $   mkdir download
     $   cd download
     $   
     $   wget https://nginx.org/download/nginx-1.14.0.tar.gz
    

    等待下载完成之后,查看当前目录,会看到nginx的压缩包:

    /usr/local/download目录下刚下载好的nginx压缩包/usr/local/download目录下刚下载好的nginx压缩包

  2. 解压缩

     $   tar -zxvf nginx-1.14.0.tar.gz
    

    解压完毕之后,当前目录会有一个nginx-1.14.0的文件夹:

    解压完毕的download目录解压完毕的download目录

  3. 进入解压后的文件夹,开始安装

     $   cd nginx-1.14.0
     $   ./configure --prefix=/usr/local/nginx
     $   make
     $   make install
    
    • 可以使用configure的--prefix参数指定安装目录,/usr/local/nginx是默认安装目录。
    • 据说linux玩家都习惯把程序安装到/usr/local这个目录下,这个目录有点像windows的Program Files目录。

    如果一切顺利的话,使用whereis nginx命令应该可以查看到程序的安装目录:

    nginx安装完成nginx安装完成

  4. nginx的启动和重启

    启动:

     $   cd /usr/local/nginx/sbin
     $   ./nginx
    

    重启

     $   cd /usr/local/nginx/sbin
     $   ./nginx -s reload
    

配置nginx开机启动

配置nginx开机启动需要在/etc/init.d目录下创建nginx启动脚本

$   vim /etc/init.d/nginx

打开文件之后,按i开始编辑,编辑完成之后按ESC退出编辑状态,然后按:进入命令输入状态,按wq保存并退出,如果不想保存,直接输入q

然后输入下面的nginx启动脚本保存即可:

下载链接:nginx启动脚本

注意:3,4两行据网上说千万千万不能删掉!

#!/bin/bash
# Startup script for the nginx Web Server
# chkconfig: - 85 15
# description: nginx is a World Wide Web server. It is used to serve
# HTML files and CGI.
# processname: nginx
# pidfile: /usr/local/nginx/logs/nginx.pid
# config: /usr/local/nginx/conf/nginx.conf
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}" >&2
exit 3
;;
esac
exit 0
✎﹏ 本文来自于 momo314和他们家的猫,文章原创,转载请注明作者并保留原文链接。