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

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 //修改配置后加载新的配置
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添加。
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]:
参考
- 官方文档 http://nginx.org/en/docs
- 中文文档 http://tengine.taobao.org/nginx_docs/cn/docs
- Nginx内置模块简介
- Linux彻底卸载Nginx
Nginx服务器的安装和卸载的更多相关文章
- Nginx 服务器的安装部署(CentOS系统)
1.准备安装环境yum -y install gcc gcc-c++ automake pcre pcre-devel zlib zlib-devel open openssl-develgcc编译器 ...
- windows环境下nginx服务器的安装与配置
转载至:http://www.cnblogs.com/hxxy2003/archive/2012/09/20/2695254.html nginx服务器是一个高性能的HTTP和反向代理服务器,它以稳定 ...
- Linux_CentOS 7下Nginx服务器的安装配置
1.安装 1.1 配置epel yum 源 wget http://dl.Fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm rpm ...
- LINUX学习--nginx服务器的安装
一.安装环境 操作系统CentOS6.8 关闭SeLinux和iptables防火墙 二.网络yum源 将下面的软件下载到 /etc/yum.repos.d/ 的目录下 官方基础:http:// ...
- Nginx服务器的安装
#解压之前下载的nginx源码安装包 [root@redhat7 nginx-1.8.1]# tar xzvf nginx-1.8.1.tar.gz #进到新解压出来的nginx目录下 [root@r ...
- Linux系统上Nginx服务器的安装与配置
前言: 详细步骤移步菜鸟教程 一. 安装Nginx,注意虚拟机与宿主机的网络连通性 l 安装编译工具及库文件(zlib库. ssl) yum -y install make zlib zlib-de ...
- [Nginx]实战Nginx:Nginx服务器的安装与配置
----------------------------------------------------------------------------------------------- Ngin ...
- 在Nginx服务器上安装SSL证书
配置nginx 1.下载证书文件 2.在nginx的conf目录中创建目录cert目录,并将证书文件拷贝进去. 3.配置nginx.conf,完整的nginx.conf如下: #user nobody ...
- Linux下安装Nginx服务器
安装Nginx之前,首先要安装好编译环境gcc和g++,然后以CentOS为例安装Nginx,安装Nginx需要PRCE库.zlib库和ssl的支持,除了ssl外其他的我们都是去官网下载: Nginx ...
随机推荐
- IDE使用GIT控制项目版本
IDEA本身继承GIT开发插件.只需要安装windows git客户端即可使用. check in project 检入项目 将新创建的项目上传到服务器. 对于git来说,空的目录不会上传到远程仓库. ...
- 以命令行界面启动 Ubuntu
1. /etc/default/grub 将GRUB_CMDLINE_LINUX_DEFAULT一行中改为"quiet splash 3" 2. update-grub 3. 重启
- 日志分析工具ELK(二)
五.Logstash日志收集实践 在学习Logstash之前,我们需要先了解以下几个基本概念: logstash收集日志基本流程: input-->codec-->filter--> ...
- Mybatis 使用 SQL 递归获取单表中的树结构
xml 代码 <resultMap type="xxx.xxx.xxx.xxx.实体类" id="xxxListTree"> <result ...
- 如何在github上递交高质量的pull request
开源的一大乐趣就是任何人都可以参与其中.试想下一个流行的项目就有你贡献的代码,是一件多么爽的事情!你可以帮助项目健康发展,添加你希望添加的功能,以及修复你发现的BUG. 作为全球最大的开源社区GitH ...
- 《PostgreSQL服务器编程》一一1.3 超越简单函数
本节书摘来自华章计算机<PostgreSQL服务器编程>一书中的第1章,第1.3节,作者:(美)Hannu Krosing, Jim Mlodgenski, Kirk Roybal 著,更 ...
- 用Swoole4 打造高并发的PHP协程Mysql连接池
码云代码仓库:https://gitee.com/tanjiajun/MysqlPool 代码仓库:https://github.com/asbectJ/swoole4.git 前言 在写这篇文章之前 ...
- CodeForces - 1245 B - Restricted RPS(贪心)
Codeforces Round #597 (Div. 2) Let nn be a positive integer. Let a,b,ca,b,c be nonnegative integers ...
- 应用开发实践之关系型数据库(以MySql为例)小结
本文主要是对目前工作中使用到的DB相关知识点的总结,应用开发了解到以下深度基本足以应对日常需求,再深入下去更偏向于DB本身的理论.调优和运维实践. 不在本文重点关注讨论的内容(可能会提到一些): 具体 ...
- uniapp 踩坑
获取数据 可在 onLoad 生命周期中获取数据,接收一个参数 option 为上个页面传递的参数. 点击事件tap代替click 两者都会在点击时触发,但是在web手机端,clikc会有300ms延 ...