一、先到官网下载Nginx

官网地址:

http://nginx.org/en/download.html

在这里插入图片描述

我下载的是最新稳定版

二、上传到服务器,然后解压

1、上传到指定的服务器地址

上传的地址自己决定,我上传到 /usr/Nginx。

在这里插入图片描述

2、解压

使用命令: tar -zxvf “你的Nginx压缩包”,我这里是:

tar -zxvf nginx-1.22.1.tar.gz

在这里插入图片描述

等待解压结束。

三、初始化Nginx

1、进行configure

进入Nginx的根目录,执行命令:

./configure

在这里插入图片描述

2、假如进行configure时报错

在这里插入图片描述

有些朋友在进行configure时可能会报错,我的也报错了。

(1)、执行命令 yum -y install pcre-devel

可以使用命令:

yum -y install pcre-devel

在这里插入图片描述
然后再进行configure。

(2)、执行命令 yum -y install openssl openssl-devel

如果还报错,可以执行命令:

yum -y install openssl openssl-devel

在这里插入图片描述

再进行configure应该不会报错了。

在这里插入图片描述

太长了,中间没截图。

在这里插入图片描述

3、进行make

执行命令:

make

在这里插入图片描述

需要点时间,然后执行命令:

make install

在这里插入图片描述

四、查看Nginx是否成功安装

执行命令:

whereis nginx

在这里插入图片描述
出现Nginx的目录表示成功安装。

五、Nginx的一些常用命令

以下命令都是在进入安装Nginx的sbin目录中操作,我这里是 /usr/local/nginx/sbin

1、启动Nginx

执行命令:

./nginx

在这里插入图片描述
然后在浏览器中使用ip地址访问

在这里插入图片描述

表示Nginx成功启动。也可以使用命令查看,命令如下:

ps -ef | grep nginx

在这里插入图片描述

2、关闭Nginx

执行命令:

./nginx -s stop

在这里插入图片描述

使用之后可以看到Nginx进程以及消失了。

3、Nginx重启

命令如下:

./nginx -s reload

执行不报错就表示重启成功。

这个命令相对用的多些,修改了Nginx配置之后就需要重启,为了在任何地方可以修改和配置,我一般这样使用,进入修改Nginx配置:

vim /usr/local/nginx/conf/nginx.conf

重启Nginx:

/usr/local/nginx/sbin/nginx -s reload

在这里插入图片描述

六、使用系统命令操作nginx

通过以上步骤安装好nginx,使用系统命令操作nginx可能会报错,不同版本的Linux系统命令不一样,我的是Centos7.5.1804,所以是systemctl,比如重启的时候

在这里插入图片描述

1、弄清楚操作nginx文件的位置

上面安装好后就是在 /usr/local/nginx/sbin 这个目录

在这里插入图片描述
保持这样就好。

2、移动nginx配置文件的位置(非必要)

上面安装好后就是在 /usr/local/nginx/conf 这个目录

在这里插入图片描述

(1)、移动到目标目录

现在我想把它移动到 /etc/nginx 这个目录下,先创建目录

mkdir -p /etc/nginx

再移动到这个目录

cp /usr/local/nginx/conf/nginx.conf /etc/nginx/nginx.conf

在这里插入图片描述

(2)、备份配置文件

记得做一下备份

cp nginx.conf nginx_bk.conf

在这里插入图片描述

(3)、检查配置文件有没有错误

最好看一下nginx.conf配置文件有没有错误

/usr/local/nginx/sbin/nginx -c /etc/nginx/nginx.conf

在这里插入图片描述

这样就表示配置文件没有问题了。

如果报了如下的错

在这里插入图片描述

这是把nginx的配置文件原原本本地搬了过来,解决的方式有两种:

第一种是注释掉对应的引入

在这里插入图片描述

第二种是在 /etc/nginx 目录加入一个名为 mime.types 的文件

在这里插入图片描述

这是文件内容:

types {
    text/html                                        html htm shtml;
    text/css                                         css;
    text/xml                                         xml;
    image/gif                                        gif;
    image/jpeg                                       jpeg jpg;
    application/javascript                           js;
    application/atom+xml                             atom;
    application/rss+xml                              rss;

    text/mathml                                      mml;
    text/plain                                       txt;
    text/vnd.sun.j2me.app-descriptor                 jad;
    text/vnd.wap.wml                                 wml;
    text/x-component                                 htc;

    image/avif                                       avif;
    image/png                                        png;
    image/svg+xml                                    svg svgz;
    image/tiff                                       tif tiff;
    image/vnd.wap.wbmp                               wbmp;
    image/webp                                       webp;
    image/x-icon                                     ico;
    image/x-jng                                      jng;
    image/x-ms-bmp                                   bmp;

    font/woff                                        woff;
    font/woff2                                       woff2;

    application/java-archive                         jar war ear;
    application/json                                 json;
    application/mac-binhex40                         hqx;
    application/msword                               doc;
    application/pdf                                  pdf;
    application/postscript                           ps eps ai;
    application/rtf                                  rtf;
    application/vnd.apple.mpegurl                    m3u8;
    application/vnd.google-earth.kml+xml             kml;
    application/vnd.google-earth.kmz                 kmz;
    application/vnd.ms-excel                         xls;
    application/vnd.ms-fontobject                    eot;
    application/vnd.ms-powerpoint                    ppt;
    application/vnd.oasis.opendocument.graphics      odg;
    application/vnd.oasis.opendocument.presentation  odp;
    application/vnd.oasis.opendocument.spreadsheet   ods;
    application/vnd.oasis.opendocument.text          odt;
    application/vnd.openxmlformats-officedocument.presentationml.presentation
                                                     pptx;
    application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
                                                     xlsx;
    application/vnd.openxmlformats-officedocument.wordprocessingml.document
                                                     docx;
    application/vnd.wap.wmlc                         wmlc;
    application/wasm                                 wasm;
    application/x-7z-compressed                      7z;
    application/x-cocoa                              cco;
    application/x-java-archive-diff                  jardiff;
    application/x-java-jnlp-file                     jnlp;
    application/x-makeself                           run;
    application/x-perl                               pl pm;
    application/x-pilot                              prc pdb;
    application/x-rar-compressed                     rar;
    application/x-redhat-package-manager             rpm;
    application/x-sea                                sea;
    application/x-shockwave-flash                    swf;
    application/x-stuffit                            sit;
    application/x-tcl                                tcl tk;
    application/x-x509-ca-cert                       der pem crt;
    application/x-xpinstall                          xpi;
    application/xhtml+xml                            xhtml;
    application/xspf+xml                             xspf;
    application/zip                                  zip;

    application/octet-stream                         bin exe dll;
    application/octet-stream                         deb;
    application/octet-stream                         dmg;
    application/octet-stream                         iso img;
    application/octet-stream                         msi msp msm;

    audio/midi                                       mid midi kar;
    audio/mpeg                                       mp3;
    audio/ogg                                        ogg;
    audio/x-m4a                                      m4a;
    audio/x-realaudio                                ra;

    video/3gpp                                       3gpp 3gp;
    video/mp2t                                       ts;
    video/mp4                                        mp4;
    video/mpeg                                       mpeg mpg;
    video/quicktime                                  mov;
    video/webm                                       webm;
    video/x-flv                                      flv;
    video/x-m4v                                      m4v;
    video/x-mng                                      mng;
    video/x-ms-asf                                   asx asf;
    video/x-ms-wmv                                   wmv;
    video/x-msvideo                                  avi;
}

(4)、杀掉所有nginx进程

为避免影响到后续步骤,先杀掉所有nginx进程

killall nginx

查看是否还有nginx相关的进程

netstat -nap | grep nginx

在这里插入图片描述

3、编写系统命令相关脚本

创建名为 nginx 的文件,注意没有后缀名

在这里插入图片描述

如果不知道可以在Linux中的 /etc/rc.d/init.d 目录下复制一份进行编辑修改,我拿的是这个

在这里插入图片描述

具体如下:

#!/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

# 定义pid文件的位置,需要和nginx.conf中的pid保持一致,不然使用命令时会出现卡死,但命令已经生效的现象
pidfile:     /var/run/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的命令,根据实际情况修改
nginx="/usr/local/nginx/sbin/nginx"

prog=$(basename $nginx)

# nginx.conf文件的位置,根据实际情况修改
NGINX_CONF_FILE="/etc/nginx/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

主要改这三处,根据自己的实际情况修改

在这里插入图片描述

其中第一处和 nginx.conf 中的pid保持一致

在这里插入图片描述

没有保持一致会出现卡死的感觉,像这样

在这里插入图片描述

其实命令已经生效了,虽然可以 Ctrl + C 退出,但体验不太好。

其他可以不改。

4、让脚本文件生效

将文件上传到 /etc/rc.d/init.d 目录

在这里插入图片描述

然后进入改目录

cd /etc/init.d

在这里插入图片描述

给脚本文件对应的权限

chmod 755 /etc/init.d/nginx

在这里插入图片描述

解释:

755表示所有者具有读、写和执行权限,而组和其他人只有读和执行权限。具体来说,755中第一位7代表所有者(owner)具有读、写、执行权限;第二位5代表组(group)只有读和执行权限;第三位5代表其它人(others)也只有读和执行权限。
原文链接:https://www.linuxcool.com/zwlmlcdhyqss

增加一项系统服务

chkconfig --add nginx

在这里插入图片描述

5、使用系统命令操作nginx

(1)、启动nginx

systemctl start nginx

在这里插入图片描述

(2)、停止nginx

systemctl stop nginx

在这里插入图片描述

(3)、重启nginx

systemctl restart nginx

在这里插入图片描述

(4)、查看nginx状态

systemctl status nginx

在这里插入图片描述

Logo

基于 Vue 的企业级 UI 组件库和中后台系统解决方案,为数万开发者服务。

更多推荐