Nginx服务器的安装和卸载

摘要:
在安装Nginx之前,您需要获取Nginx的安装文件。Nginx的Windows版本的安装相对简单。启动nginx或nginx。exe//启动nginx nginx。exe stop//停止nginx服务nginx。exe quit//停止nginx nginx。exe reload ordered//修改配置并加载新的配置nginx。exe reload建议为Linux版本的Nginx安装源代码。因此,您需要在编译Nginx源代码之前安装这些库。

Nginx的安装

安装Nginx之前,需要先获取Nginx的安装文件。我们可以在http://nginx.org/en/download.html获取各个版本的Nginx安装文件。大家可以按照自己的需求自行下载相应的安装文件。

Nginx服务器的安装和卸载第1张

Windows版本的安装

Nginx的Windows版本安装比较简单。下载完安装包之后解压缩即可使用。如果你需要在命令行窗口执行nginx命令,你还需要将nginx的解压目录加入环境变量。

#Windows平台下相关操作
#step1:首先cd到nginx的安装目录,最好不要将安装目录加到环境变量,会出现不必要的问题。(有条件最好在Linux环境下操作)
start nginx 或者 nginx.exe  //启动nginx
nginx.exe -s stop //立即停止nginx服务
nginx.exe -s quit //有序停止nginx
nginx.exe -s reload //修改配置后加载新的配置
nginx.exe -s reopen

Linux版本的安装

Linux版本的Nginx推荐使用源代码安装。

1. 环境准备

为了编译Nginx源代码,我们需要标准的GCC编译器。GCC的全称为GNUCompiler Collection,其由GNU开发,并以GPL及LGPL许可证发行,是自由的类UNIX及苹果电脑Mac OS X操作系统的标准编译器。因为GCC原本只能处理C语言,所以原名为GNU C语言编译器,后来得到快速扩展,可处理C++、Fortran、Pascal、Objective-C、Java以及Ada等其他语言。

除此之外,我们还需要Automake工具,以完成自动创建Makefile的工作。

由于Nginx的一些模块还需要依赖其他第三方库,通常有pcre库(支持rewrite模块)、zlib库(支持gzip模块)和openssl库(支持ssl模块)等。所以在编译Nginx源代码前还需要安装这些这些库。

#gcc安装
yum -y install gcc-c++
#pcre安装
yum  -y install  pcre pcre-devel
#zlib安装
yum -y install zlib zlib-devel
#OpenSSL安装
yum -y install openssl openssl-devel

前面3个就不说了,很多软件都会依赖到的包。需要安装OpenSSL是因为后期nginx可能需要配置https,因此最好提前准备好。

在进行上面的安装之前,最好使用下面的命令看下这些软件包是否已经安装过了。

yum list installed | grep ***

到此安装环境就准备好了。

2. 源代码编译

Nginx的编译安装很简单,在Linux下建议下载tar包进行安装。

#解压tar包
tar -zxvf nginx-1.12.2.tar.gz
#配置安装路径等其他配置,默认安装目录是/usr/local/nginx
./configure
make 
make install
#查看版本
nginx -v

至此,Nginx的安装就已经结束了。其实在上面的configure命令执行时我们是可以配置很多参数的,上面的安装中我们全部使用的是Nginx的默认配置。下面列举几个configure命令的常见配置,比较完整的配置项的中文含义请参见这篇博客

配置项含义
--prefix=PATH定义服务器文件的完整路径,该路径同时也是configure命令设置的 相对路径(除类库源文件外)以及nginx.conf文件定义的相对路径的基准路径。其默认 值是/usr/local/nginx
--sbin-path=PATH设置nginx可执行文件的完整路径,该路径仅在安装期间使用, 默认路径为*prefix*/sbin/nginx
--conf-path=PATH设置配置文件nginx.conf的完整路径。如有必要,总是可以 在nginx启动时通过命令行参数-c*file*指定一个不同的配置文件路径。 默认路径为*prefix*/conf/nginx.conf
--error-log-path=PATH设置记录主要错误、警告以及调试信息日志的完整路径。安装完成后, 该路径总是可以在nginx.conf文件中用 error_log 指令来修改。 默认路径为*prefix*/logs/error.log
--pid-path=PATH设置nginx.pid文件的完整路径,该文件存储了主进程的进程ID。安装完成后, 该路径总是可以在nginx.conf文件中用 pid指令来修改。 默认路径为*prefix*/logs/nginx.pid

Configure命令还有很多配置参数,可以通过./configure --help查看。其中:

  • with开头的表示该模块默认是未开启的,可以使用--with开启。
  • without开头的表示该模块默认是启用的,可以使用--without禁用。
  • 第三方模块使用--add-module=PATH添加。如果支持动态加载,使用--add-dynamic-module=PATH添加。

一个配置命令的列子如下:

./configure --sbin-path=/usr/local/nginx/nginx --conf-path=/usr/local/nginx/nginx.conf --pid-path=/usr/local/nginx/nginx.pid --with-http_ssl_module --with-pcre=../pcre-4.4 --with-zlib=../zlib-1.1.3

3.一些常用命令

#使用-c可以自定义指定Nginx的配置问价,默认的是安装目录下的配置
nginx -c /usr/local/nginx/conf/nginx.conf
nginx -s stop
nginx -s quit
kill -9 PID
#重新加载配置
nginx -s reload 

Nginx卸载

1.首先输入命令 ps -ef | grep nginx检查一下nginx服务是否在运行。

[root@localhost /]# ps -ef |grep nginx
root       3163   2643  0 14:08 tty1     00:00:00 man nginx
root       5427      1  0 14:50 ?        00:00:00 nginx: master process nginx
nginx      5428   5427  0 14:50 ?        00:00:00 nginx: worker process
root       5532   2746  0 14:52 pts/0    00:00:00 grep --color=auto nginx

2.停止Nginx服务

[root@localhost /]# /usr/sbin/nginx -s stop
[root@localhost /]# netstat -lntp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN      1/systemd           
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1261/sshd           
tcp6       0      0 :::111                  :::*                    LISTEN      1/systemd           
tcp6       0      0 :::22                   :::*                    LISTEN      1261/sshd

3.查找、删除Nginx相关文件

  • 查看Nginx相关文件:whereis nginx
[root@localhost /]# whereis nginx
nginx: /usr/sbin/nginx /usr/lib64/nginx /etc/nginx /usr/share/nginx /usr/share/man/man8/nginx.8.gz /usr/share/man/man3/nginx.3pm.gz
  • find查找相关文件
[root@localhost /]# find / -name nginx
/usr/lib64/perl5/vendor_perl/auto/nginx
/usr/lib64/nginx
/usr/share/nginx
/usr/sbin/nginx
/etc/logrotate.d/nginx
/etc/nginx
/var/lib/nginx
/var/log/nginx
  • 依次删除find查找到的所有目录:rm -rf /usr/sbin/nginx

4.再使用yum清理

[root@localhost /]# yum remove nginx
依赖关系解决

======================================================================================================
 Package                              架构            版本                       源              大小
======================================================================================================
正在删除:
 nginx                                x86_64          1:1.12.2-3.el7             @epel          1.5 M
为依赖而移除:
 nginx-all-modules                    noarch          1:1.12.2-3.el7             @epel          0.0  
 nginx-mod-http-geoip                 x86_64          1:1.12.2-3.el7             @epel           21 k
 nginx-mod-http-image-filter          x86_64          1:1.12.2-3.el7             @epel           24 k
 nginx-mod-http-perl                  x86_64          1:1.12.2-3.el7             @epel           54 k
 nginx-mod-http-xslt-filter           x86_64          1:1.12.2-3.el7             @epel           24 k
 nginx-mod-mail                       x86_64          1:1.12.2-3.el7             @epel           99 k
 nginx-mod-stream                     x86_64          1:1.12.2-3.el7             @epel          157 k

事务概要
======================================================================================================
移除  1 软件包 (+7 依赖软件包)

安装大小:1.9 M
是否继续?[y/N]:

参考

免责声明:文章转载自《Nginx服务器的安装和卸载》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇软考笔记第三天之数据库系统Nodejs学习笔记(十二)—定时任务(node-schedule)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

2020centos解决“nginx 403 Forbidden"错误的故事

最近折腾一个放在日本的vps,网速还可以,就是经常丢包。 原本配置了Nginx的做代理服务器,我想反正服务器空闲者,放点我自己的资料 配置了一个静态html文件,方便自己随时查看 结果,不停的修改nginx的配置文件,还是报同样的错误 nginx 403 Forbidden。 网上搜,都是说是改文件夹的权限 有更粗暴的用root作为启动用户,那真实饮鸩止渴...

后台的代理nginx部署方法

软件包如下:nginx-1.10.0.tar.gznginx-http-concat-master.zipngx_cache_purge-2.3.tar.gzopenssl-1.0.2h.tar.gzpcre-8.39.tar.gzzlib-1.2.8.tar.gz ngin部署方法:上面的安装包都存放在/apps/svr/soft目录下:cd /apps...

Nginx配置SSL报错 nginx: [emerg] unknown directive "ssl"

Nginx配置SSL报错 nginx: [emerg] unknown directive "ssl" 出现如图所示错误,处理办法如下 去nginx解压目录下执行 ./configure --with-http_ssl_module 如果报错 ./configure: error: SSL modules require the Op...

nginx 配置的一些参数

/etc/nginx/nginx.conf worker_rlimit_nofile#;      --指定一个worker 进程所能打开的最大文件描述符数量worker_rlimit_sigpending#;    --指定每个用户能够发往进程的信号的数量 性能优化相关的配置  1.work_processes      --worker 进程的个数,通...

PHP 出现 502 解决方案

nginx+php 出现502 bad gateway,一般这都不是nginx的问题,而是由于 fastcgi或者php的问题导致的,常见的有以下几种。 1.   php.ini 的memory_limit 过小(如果有个别php程序进程需要占用极大内存时这个必须注意) 2.   php-fpm.conf 中max_children或者max_reques...

nginx 反向代理

nginx 反向代理 docker部署apache服务 docker部署nginx服务 修改nginx 监听及转发配置 测试 docker部署apache服务 创建Dockerfile,写入以下内容,执行docker build -t v4/apache . 创建v4/apache 镜像。 FROM ubuntu:18.04 MAINTAINER ca...