nginx的安装
一、Linux中安装nginx
安装nginx以及nginx依赖的组件时,必须使用root用户安装,普通用户没有权限。
如果公司服务器无法访问外网,只能离线安装nginx。离线安装的方式有两种:一种是采用本地镜像安装,另一种是先下载后安装。本文采用先下载后安装的方法。
安装nginx之前,需要先安装相关组件:gcc、gcc-c++、pcre、pcre-devel、zlib、openssl
检查各个组件是否安装,可以通过查看版本来确认是否已经安装这些组件。
查看gcc的版本:gcc -v(gcc --version)
查看gcc-c++的版本:g++ --version
查看pcre的版本:rpm -qa pcre
查看zlib的版本:rpm -qa zlib
查看openssl的版本:rpm -qa|grep -i openssl
1、离线安装nginx
1.1、通过rpm命令安装nginx依赖的组件
可以从网站Search the RPM repository on www.rpmfind.net搜索下载nginx所需的依赖包,下载的是.rpm格式的安装包,使用命令“rpm -ivh xxx.rpm”或“rpm -Uvh xxx.rpm”进行安装。必须使用root用户进行安装。
1.1.1、安装gcc、gcc-c++
安装 nginx 需要先将官网下载的源码进行编译,编译依赖gcc环境,需要先安装gcc。
下载gcc需要的所有依赖包。




下面是所需要安装的GCC依赖列表:
安装gcc模块依赖:cloog-ppl、cpp、glibc-devel、libgomp、libgomp.so.1
安装cloog-ppl模块依赖:libppl.so.7、libppl_c.so.2
安装libppl.so.7、libppl_c.so.2模块依赖:无
安装cpp模块依赖:libmpcfr.so.1
安装libmpcfr.so.1模块依赖:无
安装glibc-devel模块依赖:glibc-headers和glibc
安装glibc-headers模块依赖:kernel-headers和glibc
安装kernel-headers模块依赖:无
安装glibc模块依赖:glibc-common
安装glibc-common模块依赖:tzdata和glibc (系统会自带与系统版本一致的tzdata、glibc和glibc-common,无需安装)
安装libgomp、libgomp.so.1模块依赖:无
注意:由于系统会自带tzdata、glibc和glibc-common,不需要安装这些插件,如果提示需要安装高版本的这些插件,说明安装glibc-headers插件的版本与系统不匹配(例如系统是centos6.3,下载的却是适用于centos6.5的插件),必须要下载与系统匹配的插件进行安装,否则后面安装其他插件时,根本就不会安装成功。
安装gcc的顺序:(先下载安装包,再安装)
rpm -ivh ppl-0.10.2-11.el6.x86_64.rpm #ppl(libppl.so.7、libppl_c.so.2)
rpm -ivh cloog-ppl-0.15.7-1.2.el6.x86_64.rpm #cloog-ppl
rpm -ivh mpfr-2.4.1-6.el6.x86_64.rpm #libmpcfr.so.1
rpm -ivh cpp-4.4.7-17.el6.x86_64.rpm #cpp
rpm -ivh kernel-headers-2.6.32-642.el6.x86_64.rpm #kernel-headers
rpm -ivh tzdata-2018e-3.el6.noarch.rpm #tzdata
rpm -ivh glibc-2.12-1.212.el6.x86_64.rpm glibc-common-2.12-1.212.el6.x86_64.rpm #glibc和 glibc-common同时安装
rpm -ivh glibc-headers-2.12-1.192.el6.x86_64.rpm #glibc-headers
rpm -ivh glibc-devel-2.12-1.192.el6.x86_64.rpm #glibc-devel
rpm -ivh libgomp-4.4.7-17.el6.x86_64.rpm #libgomp(libgomp、libgomp.so.1)
rpm -ivh gcc-4.4.7-17.el6.x86_64.rpm #gcc
至此gcc安装成功。(x86_64其实就是x64,表示64位操作系统,x86表示32位系统)
安装gcc-c++(先安装libstdc++-devel,是gcc-c++的依赖):
rpm -ivh libstdc++-4.4.7-4.el6.x86_64.rpm
rpm -ivh libstdc++-devel-4.4.7-4.el6.x86_64.rpm
rpm -ivh gcc-c++-4.4.7-4.el6.x86_64.rpm
所以在安装gcc和gcc-c++时,需要先安装10个依赖包,再安装gcc和gcc-c++两个包。
1.1.2、安装pcre、pcre-devel
PCRE(Perl Compatible Regular Expressions) 是一个Perl库,包括perl兼容的正则表达式库。nginx 的 http 模块使用 pcre 来解析正则表达式,所以需要在 linux 上安装pcre库,pcre-devel 是使用 pcre 开发的一个二次开发库,nginx也需要此库。



安装pcre的命令:rpm -ivh pcre-7.8-7.el6.x86_64.rpm
安装pcre-devel的命令:rpm -ivh pcre-devel-7.8-7.el6.x86_64.rpm
如果机器上已经有低版本的pcre,需要强制安装,如下命令:
rpm -ivh pcre-7.8-7.el6.x86_64.rpm --force
1.1.3、安装zlib、zlib-devel
zlib 库提供了很多种压缩和解压缩的方式,nginx使用zlib对http包的内容进行gzip,所以需要在Centos上安装zlib库。


安装zlib的命令:
rpm -ivh zlib-1.2.3-29.el6.x86_64.rpm
rpm -ivh zlib-devel-1.2.3-29.el6.x86_64.rpm
1.1.4、安装openssl、openssl-devel
OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及 SSL 协议,并提供丰富的应用程序供测试或其它目的使用。
nginx 不仅支持 http 协议,还支持 https(即在ssl协议上传输http),所以需要在 Centos 安装 OpenSSL 库。
安装openssl所需的rpm依赖如下所示:
e2fsprogs-1.41.12-23.el6.x86_64.rpm
e2fsprogs-libs-1.41.12-23.el6.x86_64.rpm
keyutils-1.4-5.el6.x86_64.rpm
keyutils-libs-1.4-5.el6.x86_64.rpm
keyutils-libs-devel-1.4-5.el6.x86_64.rpm
krb5-devel-1.10.3-65.el6.x86_64.rpm
krb5-libs-1.10.3-65.el6.x86_64.rpm
krb5-workstation-1.10.3-65.el6.x86_64.rpm
libcom_err-1.41.12-23.el6.x86_64.rpm
libcom_err-devel-1.41.12-23.el6.x86_64.rpm
libkadm5-1.10.3-65.el6.x86_64.rpm
libselinux-2.0.94-7.el6.x86_64.rpm
libselinux-devel-2.0.94-7.el6.x86_64.rpm
libselinux-python-2.0.94-7.el6.x86_64.rpm
libselinux-utils-2.0.94-7.el6.x86_64.rpm
libsepol-devel-2.0.41-4.el6.x86_64.rpm
libss-1.41.12-23.el6.x86_64.rpm
安装openssl:rpm -ivh openssl-1.0.1e-57.el6.x86_64.rpm
安装openssl-devel:rpm -ivh openssl-devel-1.0.1e-57.el6.x86_64.rpm
重点:可以将上述所有rpm安装包放到一个新建的文件夹中,进入到该文件夹下执行如下命令,一次性强制安装。
rpm -Uvh *.rpm -nodeps -force
1.2、通过make install命令安装nginx依赖的组件
下载gcc、pcre、pcre-devel、zlib、openssl的安装包,安装包是.tar.gz的格式。

1.2.1、安装gcc、gcc-c++
gcc官网:GCC, the GNU Compiler Collection- GNU Project
下载gcc的镜像站点:https://gcc.gnu.org/mirrors.html



1、安装gmp:
<1>下载gmp:ftp://ftp.gnu.org/gnu(下载路径,下载的版本是gmp-6.1.2)
<2>解压:tar -Jxvf gmp-6.1.2.tar.xz
对于tar.xz格式的压缩包可用tar -Jxvf xxx.tar.xz命令解压,Jxvf中必须是大写的J。如下所示,其中-C /home/.../gcc/表示将压缩包解压到指定的/home/.../gcc/目录下。
tar -Jxvf gmp-6.1.2.tar.xz -C /home/node01/myFiles/programFiles/gcc/
<3>创建一个文件夹,用于存放配置时生成的编译文件,下面所有的操作都在该目录下完成
比如在/home/node01/myFiles/programFiles/gcc/configure目录下创建gmp-6.1.2目录,然后进入到该目录下,输入cd gmp-6.1.2 命令。此处新建的gmp-6.1.2目录(称为“目标目录”)与上面解压后生成的gmp-6.1.2(称为“源目录”)不是同一个目录,而且目标目录不能创建在源目录下。在下面用/configure命令时需要用到该目标目录,将gmp安装到该目录下。
<4>配置:需要用到源目录gmp-6.1.2下的configure命令来进行配置,假设解压后生成的源目录所在的路径是/home/node01/myFiles/programFiles/gcc/gmp-6.1.2,目标目录所在的路径是/home/node01/myFiles/programFiles/gcc/configure/gmp-6.1.2,即目标目录的上一级目录configure与源目录在同一级,由于目前是在目标目录下,要想使用源目录下的configure命令,需要通过如下命令:
../gmp-6.1.2/configure --prefix=/home/node01/myFiles/programFiles/gcc/configure/gmp-6.1.2
<5>编译:sudo make
<6>安装:sudo make install (编译和安装可用一条命令:sudo make && make install)

在编译安装时,若有下面提示,则根据提示,运行命令:libtool --finish /usr/local/lib

2、安装gmp-devel:
<1>下载gmp-devel:https://pkgs.org/download/gmp-devel
下载的是rpm文件:gmp-devel-6.0.0-15.el7.x86_64.rpm,直接使用rpm命令安装即可。
<2>安装:rpm -ivh gmp-devel-6.0.0-15.el7.x86_64.rpm (需要root用户安装)
3、安装mpfr:(由于mpfr依赖gmp-devel,所以安装mpfr之前,先安装gmp-devel,否则报下面的错误)

解决方法:
下载并安装gmp-devel即可。
安装完gmp-devel之后,在mpfr-4.0.1目录下再次执行./configure命令,没有报错。

<1>下载mpfr:Index of /gnu/mpfr
<2>解压:tar -zxvf mpfr-4.0.1.tar.gz (解压之后会生成一个源目录mpfr-4.0.1)
<3>新建目标目录,将mpfr安装到该目录下 (与安装gmp的步骤相同)
<4>配置:源目录mpfr-4.0.1的路径/configure --prefix=目标目录的路径
<5>编译:sudo make
<6>安装:sudo make install
4、安装mpc
<1>下载mpc:http://www.multiprecision.org/mpc
<2>解压并进入目录下:tar -zxvf mpc-1.0.3.tar.gz 和 cd mpc-1.0.3 命令
<3>配置:./configure
<4>编译:sudo make
<5>安装:sudo make install
在执行sudo make命令编译mpc时,如果出现如下所示的错误提示,需要修改/mpc-1.0.3/mpc/src/mul.c文件,将mul.c文件中的mpfr_fmma修改成mpfr_fmma_mul,共有三处需要修改。

在执行make或make install命令出现如下所示的提示时,不是错误,只是提示已经编译过了,无需再次编译。

5、安装gcc

1.2.2、安装pcre、pcre-devel
下载pcre的路径:https://sourceforge.net/projects/pcre/files/pcre/

下载完成之后,依次执行以下命令:
tar -zxvf pcre-8.42.tar.gz #解压
cd pcre-8.42/ #进入到解压后的目录下
./configure #配置
make #编译
make install #安装
1.2.3、安装zlib、zlib-devel
下载zlib的路径:zlib Home Site

下载完成之后,依次执行以下命令:
tar -zxvf zlib-1.2.11.tar.gz
cd zlib-1.2.11/
./configure
make
make install
1.2.4、安装openssl、openssl-devel
下载openssl安装包的链接:Downloads | OpenSSL Library

下载完成之后,依次执行以下命令:
tar -zxvf openssl-1.1.1a.tar.gz
cd openssl-1.1.1a/
./config
make
make install
1.3、安装nginx
下载nginx的路径:nginx: download

下载完成之后,依次执行以下命令:
tar -zxvf nginx-1.14.1.tar.gz
cd nginx-1.14.1/
./configure (默认配置)
./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-pcre=../pcre-8.42 --with-zlib=../zlib-1.2.11 --with-openssl=../openssl-1.1.0h (自定义配置)
make
make install (进入到解压目录后,可直接执行./configure && make && make install命令)
在安装nginx之前,通过whereis nginx命令查询nginx的安装路径,得到的结果为空,如下所示(nginx:后面跟着的不是路径,而是[用户名@主机名]):

1.3.1、安装gcc、gcc-c++
安装过程中若出现下面的错误提示,需要先安装gcc和gcc-c++:
./configure: error: C compiler cc is not found
下载gcc和gcc-c++安装。

安装gcc时出现如下错误提示,需要安装gcc的依赖包。

在安装glibc-common时需要先安装tzdata,安装tzdata时,可能系统会自带低版本的tzdata,需要先删除原来的tzdata,然后再安装高版本的tzdata,否则会提示文件冲突,安装失败。
通过命令“rpm -qa|grep tzdata”查找tzdata文件的安装名称,然后通过命令“rpm -e --nodeps tzdata文件名”删除低版本的tzdata。

安装tzdata成功之后,由于glibc-common和glibc互相依赖,需要将两者同时安装。如下所示:rpm -ivh glibc-2.12-1.212.el6.x86_64.rpm glibc-common-2.12-1.212.el6.x86_64.rpm。

千万不要删除glibc文件,否则除了cd之外的任何命令都无法使用。如果在安装其他插件时提示需要安装高版本的glibc插件,说明其他插件肯定与系统不匹配,下载与系统匹配的其他插件重新安装,千万不要删除系统自带的glibc插件。


若安装过程中出现如下错误提示:
./configure: error: the HTTP rewrite module requires the PCRE library.
则需要安装pcre-devel依赖,下载pcre-devel-8.32-17.el7.x86_64.rpm安装即可。

下载的pcre-devel和zlib-devel依赖包:



若出现如下错误提示:
./configure: error: the HTTP gzip module requires the zlib library.
则需要安装zlib-devel依赖,下载zlib-devel-1.2.7-17.el7.x86_64.rpm安装即可。


再次进入到nginx目录下,然后再次执行./configure && make && make install命令,如果看到如下提示信息,没有错误信息,则说明nginx安装成功。

1.4、设置nginx开机自启动
centos 7以上是用Systemd进行系统初始化的,Systemd 是 Linux 系统中最新的初始化系统(init),它主要的设计目标是克服 sysvinit 固有的缺点,提高系统的启动速度。关于Systemd的详情介绍在这里https://www.ibm.com/developerworks/cn/linux/1407_liuming_init3/。
Systemd服务文件以.service结尾,比如现在要建立nginx为开机启动,如果用yum install命令在线安装的,yum命令会自动创建nginx.service文件,直接用命令systemctl enable nginx.service设置开机启动即可。如果是下载安装包,离线用源码编译安装的,需要先手动创建nginx.service服务文件,然后再用systemctl enable nginx.service命令设置开机启动。
开机不用手动启动就能自启动并运行的程序,存在系统服务(system)里,即在/lib/systemd/system/目录下。
在/lib/systemd/system/下新建nginx.service文件,使用vim /lib/systemd/system/nginx.service命令创建新文件并修改文件,然后在该文件中新增如下内容。
[Unit]
Description=nginx
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s quit
PrivateTmp=true
[Install]
WantedBy=multi-user.target
[Unit]:服务的说明
Description:描述服务
After:描述服务类别
[Service]服务运行参数的设置
Type=forking是后台运行的形式
ExecStart为服务的具体运行命令
ExecReload为重启命令
ExecStop为停止命令
PrivateTmp=True表示给服务分配独立的临时空间
保存退出后,执行systemctl enable nginx.service命令,就可以设置nginx开机自启动了。
注意:[Service]的启动、重启、停止命令全部要求使用绝对路径
[Install]运行级别下服务安装的相关设置,可设置为多用户,即系统运行级别为3。
Nginx启动之后,在浏览器上访问nginx的主页,如果出现下图,说明启动成功。

Nginx的配置文件是/usr/local/nginx/conf目录下的nginx.conf文件,在该文件中可以修改nginx的端口号、主机名、代理路径等,可设置支持跨域请求。
1.5、启动nginx
启动nginx命令:systemctl start nginx.service (可将nginx.service换成nginx,下面类似)
停止nginx命令:systemctl stop nginx.service
重启nginx命令:systemctl restart nginx.service
开机自启动命令:systemctl enable nginx.service
停止开机自启动命令:systemctl disable nginx.service
查看nginx的当前状态:systemctl status nginx.service
查看所有已启动的服务:systemctl list-units --type=service
也可使用/usr/local/nginx/sbin/nginx -s reload命令重启nginx,或进入到/usr/local/nginx/sbin目录下,执行./nginx -s reload命令。
service nginx start 是centos6.x的命令,systemctl start nginx是centos7.x的命令。
使用Nginx的过程中,免不了要进行配置文件的修改,然后就是使修改的配置文件生效。
使修改的配置文件生效就需要向Nginx的master进程发送信号,具体就是reload与restart信号。那既然两者都能使配置文件生效,又有什么区别呢?
reload --重新加载,reload会重新加载配置文件,Nginx服务不会中断。而且reload时会测试conf语法等,如果出错会rollback用上一次正确配置文件保持正常运行。
restart --重启(先stop后start),会重启Nginx服务。这个重启会造成服务一瞬间的中断,如果配置文件出错会导致服务启动失败,那就是更长时间的服务中断了。
所以,如果是线上的服务,修改的配置文件一定要备份。再者,为了保证线上服务高可用,还是使用reload吧。(参考:https://blog.csdn.net/ydm19891101/article/details/80589696)
1.6、查看nginx的进程PID
ps命令是查看服务器所有的进程:
-aux :显示所有状态
-ef :简洁信息
ps -aux | grep node (grep :使用管道搜索)

第二列是pid,杀掉程序使用kill pid。
ps -ef | grep node

第二列是自己的pid,第三列是父pid,可以直接查找pid。
ps -aux | grep 5646


2、在线安装
2.1、gcc 安装
查看安装的版本:
gcc -v
安装 nginx 需要先将官网下载的源码进行编译,编译依赖 gcc 环境,如果没有 gcc 环境,则需要安装:
yum install gcc-c++
2.1、pcre、pcre-devel 安装
查看安装的版本:
rpm -qa pcre
PCRE(Perl Compatible Regular Expressions) 是一个Perl库,包括 perl 兼容的正则表达式库。nginx 的 http 模块使用 pcre 来解析正则表达式,所以需要在 linux 上安装 pcre 库,pcre-devel 是使用 pcre 开发的一个二次开发库。nginx也需要此库。命令:
yum install -y pcre pcre-devel
2.3、zlib、zlib-devel 安装
查看版本:
rpm -qa zlib
zlib 库提供了很多种压缩和解压缩的方式, nginx 使用 zlib 对 http 包的内容进行 gzip ,所以需要在 Centos 上安装 zlib 库。
yum install -y zlib zlib-devel
2.4、 OpenSSL、openssl-devel 安装
查看OpenSSL版本:
rpm -qa|grep -i openssl
OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及 SSL 协议,并提供丰富的应用程序供测试或其它目的使用。
nginx 不仅支持 http 协议,还支持 https(即在ssl协议上传输http),所以需要在 Centos 安装 OpenSSL 库。
yum install -y openssl openssl-devel
2.5、nginx安装
(1)官网下载
1.直接下载.tar.gz安装包,地址:nginx: download

2.使用wget命令在线下载(推荐)。
wget -c https://nginx.org/download/nginx-1.28.0.tar.gz
(2)下载之后进行解压:
tar -zxvf nginx-1.28.0.tar.gz
cd nginx-1.28.0
(3)配置:
其实在 nginx-1.28.0 版本中不需要配置相关东西,默认就可以了。当然,如果需要自己配置目录也是可以的。
1.使用默认配置
./configure
2.自定义配置(不推荐)
./configure \
--prefix=/usr/local/nginx \
--conf-path=/usr/local/nginx/conf/nginx.conf \
--pid-path=/usr/local/nginx/conf/nginx.pid \
--lock-path=/var/lock/nginx.lock \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--with-http_gzip_static_module \
--http-client-body-temp-path=/var/temp/nginx/client \
--http-proxy-temp-path=/var/temp/nginx/proxy \
--http-fastcgi-temp-path=/var/temp/nginx/fastcgi \
--http-uwsgi-temp-path=/var/temp/nginx/uwsgi \
--http-scgi-temp-path=/var/temp/nginx/scgi
注:将临时文件目录指定为/var/temp/nginx,需要在/var下创建temp及nginx目录
(4)编译安装
make && make install
查找安装路径:
whereis nginx
(5)启动、停止nginx
cd /usr/local/nginx/sbin/
./nginx
./nginx -s stop
./nginx -s quit
./nginx -s reload
./nginx -s quit:此方式停止步骤是待nginx进程处理任务完毕进行停止。
./nginx -s stop:此方式相当于先查出nginx进程id再使用kill命令强制杀掉进程。
(6)查询nginx进程:
ps aux|grep nginx 或 ps -ef|grep nginx
(7)重启 nginx
1.先停止再启动(推荐):
对 nginx 进行重启相当于先停止再启动,即先执行停止命令再执行启动命令。如下:
./nginx -s quit
./nginx
2.重新加载配置文件:
当 ngin x的配置文件 nginx.conf 修改后,要想让配置生效需要重启 nginx,使用-s reload不用先停止 ngin x再启动 nginx 即可将配置信息在 nginx 中生效,如下:
./nginx -s reload
启动成功后,在浏览器可以看到这样的页面:

(8)设置开机自启动
即在rc.local增加启动代码就可以了。
vi /etc/rc.local
增加一行 /usr/local/nginx/sbin/nginx
设置执行权限:
chmod 755 rc.local
到这里,nginx就安装完毕了,启动、停止、重启操作也都完成了,当然,也可以添加为系统服务,这里就不演示了。
扩展:开启Nginx的SSL模块
Nginx如果未开启SSL模块,配置Https时会提示如下错误:
nginx: [emerg] the "ssl" parameter requires ngx_http_ssl_module in /usr/local/nginx/conf/nginx.conf:37
这是因为nginx缺少http_ssl_module模块,编译安装的时候带上--with-http_ssl_module配置就行了,但是现在的情况是我的nginx已经安装过了,下面看一下在已经安装Nginx的情况下如何开启SSL模块。
说明:我的nginx安装目录是/usr/local/nginx,源码包在/usr/local/src/nginx-1.28.0目录。
Nginx开启SSL模块的步骤:
1.切换到源码包:cd /usr/local/src/nginx-1.28.0
2.查看nginx原有的模块:/usr/local/nginx/sbin/nginx -V
3.在configure arguments:后面显示原有的configure参数如下:
--prefix=/usr/local/nginx --with-http_stub_status_module
那么我们的新配置信息就应该这样写:
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
4.执行上面的命令即可,等待配置完成。配置完成后,运行命令:make。这里不要执行make install,否则就是覆盖安装。
5.然后备份原有已安装好的nginx:
cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak
6.将刚刚编译好的nginx覆盖掉原有的nginx(这个时候nginx要停止状态):
cp ./objs/nginx /usr/local/nginx/sbin/
7.然后启动nginx,仍可以通过命令查看是否已经加入成功:
/usr/local/nginx/sbin/nginx -V
8.Nginx 配置Http和Https共存:
server {
listen 80 default backlog=2048;
listen 443 ssl;
server_name wosign.com;
root /var/www/html;
ssl_certificate /usr/local/Tengine/sslcrt/ wosign.com.crt;
ssl_certificate_key /usr/local/Tengine/sslcrt/ wosign.com .Key;
}
把ssl on;这行去掉,ssl写在443端口后面。这样http和https的链接都可以用。
二、Windows下安装Nginx
直接下载解压即可,下载地址:https://nginx.org/en/download.html。

解压之后双击nginx.exe启动程序。

或者通过cmd窗口进入到Nginx的安装目录,执行nginx.exe命令启动。

双击之后会出现闪退的情况,这是正常现象,因为nginx程序已经在后台启动了,如下图所示。

在浏览器访问http://localhost:80(nginx默认占用的端口号是80),如果看到下图所示界面,说明Nginx启动成功。

更多推荐


所有评论(0)