初试Nginx(1)

Nginx(发音同 engine x)是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。由俄罗斯的程序设计师Igor Sysoev所开发,最初供俄国大型的入口网站及搜寻引擎Rambler(俄文:Рамблер)使用。

为什么选择Nginx?

-高并发连接
-内存消耗少
-低成本
-配置简单
-支持rewrite重写
-内置健康检查
-节约带宽
-支持热部署
-稳定性高

安装Nginx

在Linux下安装Nginx的方式有2种:

1、使用nginx packages

2、下载Nginx源代码编译

- 使用nginx packages

对于RHEL/CentOS来说,nginx提供了YUM库,只需要创建对应的YUM仓库文件即可通过YUM方式安装nginx

vim /etc/yum.repos.d/nginx.repo  #创建文件

#将以下内容写入到nginx.repo文件
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/mainline/centos/7/$basearch/
gpgcheck=0
enabled=1

yum install nginx  #安装nginx

- 编译安装

编译安装Nginx,要确保已安装"Development Tools" "Server Platfrom Development"软件包组以及openssl-devel zlib-devel pcre-devel。

openssl-devel:提供SSL功能

zlib-devel:nginx提供gzip模块,需zlib库支持

pcre-devel:nginx提供rewrite功能,需pcre库支持

yum -y groupinstall "Development Tools" "Server Platfrom Development"

yum -y install openssl-devel zlib-devel pcre-devel

nginx源代码在http://nginx.org/en/download.html下载。

wget http://nginx.org/download/nginx-1.10.0.tar.gz

解压并输出编译选项

tar zxvf nginx* && cd nginx*
./configure --help

如果要开启nginx的某个模块,在编译选项里加入--with-xxx_module,要关闭某个模块则加入--without-xxx_module。

最简单的安装命令如下:

./configure
make
make install

自定义编译选项:

./configure --prefix=/usr/local/nginx          --conf-path=/etc/nginx/nginx.conf          --user=nginx          --group=nginx          --error-log-path=/var/log/nginx/error.log          --http-log-path=/var/log/nginx/access.log          --pid-path=/var/run/nginx.pid          --lock-path=/var/lock/nginx.lock          --with-http_ssl_module          --with-http_stub_status_module          --with-http_gzip_static_module          --with-debug
make
make install

自定义编译选项安装nginx,运行make命令后,编译生成的文件信息将会得到输出。

启动nginx:

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

关闭nginx:

nginx -s stop    #快速关闭
nginx -s quit    #正常关闭

#也可以通过kill命令杀死nginx进程来关闭nginx
kill -s QUIT `cat /var/run/nginx.pid`

重新加载配置文件:

nginx -s reload

重新打开日志文件:

nginx -s reopen
时间: 2024-10-13 16:56:42

初试Nginx(1)的相关文章

初试Nginx(2)---配置文件

Nginx默认配置文件名为nginx.conf. Nginx配置文件主要由3大部分构成,即main,events,http.其中main配置段为全局通用配置,events段为网络I/O模型及连接上限,http为HTTP服务设定. - main worker_processes 2:在配置文件main段的起始位置,worker为工作的进程个数,master进程是接收并分配请求给worker处理.配置参数一般为CPU的核心数,如果要开始SSL和GZIP则需要设置为CPU核心数的2倍.(建议最多开8个

Ubuntu Nginx uwsgi django 初试

/************************************************************************************** * Ubuntu Nginx uwsgi django 初试 * 说明: * 最近打算通过Python搭建一个数据收集的网站,先做一个搭建测试. * * 2016-8-5 深圳 南山平山村 曾剑锋 ***************************************************************

flask+gevent+gunicorn+nginx 初试

1.安装flask pip install flask 2.安装gevent pip install gevent 3.安装gunicorn pip install gunicorn 版本号信息如下: [[email protected] ~]# pip list Flask (0.10.1) gevent (1.0.1) greenlet (0.4.2) gunicorn (18.0) pip (1.5.5) setuptools (3.6) 4.安装nginx 下载源码包安装,版本信息如下

RSNAKE 的 Slowloris DOS攻击工具初试

Slowloris 号称低带宽对服务器进行DDOS攻击 原理就是对WEB服务器发送 不完整的包并且以 单一  \r\n结尾,并不是 完整的HTTP包.造成WEB服务器堵塞达到最大连接数. 官网给出介绍,对以下几种服务器有效: Apache 1.x Apache 2.x dhttpd GoAhead WebServer WebSense "block pages" (unconfirmed) Trapeze Wireless Web Portal (unconfirmed) Verizo

podman初试-和docker对比

podman初试-和docker对比 1,什么是docker? Docker 是一个开源的应用容器引擎,属于 Linux 容器的一种封装,Docker 提供简单易用的容器使用接口,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上.容器是完全使用沙箱机制,相互之间不会有任何接口. 2,什么是Podman? Podman 是一个开源的容器运行时项目,可在大多数 Linux 平台上使用.Podman 提供与 Docker 非常相似的功能.正如前面提到的

linux下Nginx配置文件(nginx.conf)配置设置详解(windows用phpstudy集成)

linux备份nginx.conf文件举例: cp /usr/local/nginx/nginx.conf /usr/local/nginx/nginx.conf-20171111(日期) 在进程列表里 面找master进程,它的编号就是主进程号. ps -ef | grep nginx 查看进程 cat /usr/local/nginx/nginx.pid 每次修改完nginx文件都要重新加载配置文件linux命令: /usr/local/nginx -t //验证配置文件是否合法 若ngin

shell 格式化输出nginx的编译参数

命令 nginx -V > nginx.txt cat -n nginx.txt  | sed -n '5,18p' | awk '{$1="";print $0}'  | sed 's/^[ ]*//g'  | tr '\n' ',' | sed -n 's/,//gp' | tr " " "\n" 结果 configure arguments: --user=nginx --group=nginx --prefix=/usr/share

Nginx 反代参数:$X-Real-Ip和$X-Forwarded-For的区别

## \$X-Real-Ip和$X-Forwarded-For的区别 标签(空格分隔): nignx 负载均衡 client-ip --- ####1.如果只有一层代理,这两个头的值就是一样的####2.多层代理> * X-Forwarded-For:  header包含这样一行        `*X-Forwarded-For: 1.1.1.1, 2.2.2.2, 3.3.3.3*`> * X-Real-Ip:没有相关标准,上面的例子,如果配置了X-Read-IP,可能会有两种情况`// 最

Nginx为什么比Apache Httpd高效:原理篇

一.进程.线程? 进程是具有一定独立功能的,在计算机中已经运行的程序的实体.在早期系统中(如linux 2.4以前),进程是基本运作单位,在支持线程的系统中(如windows,linux2.6)中,线程才是基本的运作单位,而进程只是线程的容器.程序 本身只是指令.数据及其组织形式的描述,进程才是程序(那些指令和数据)的真正运行实例.若干进程有可能与同一个程序相关系,且每个进程皆可以同步(循 序)或异步(平行)的方式独立运行.现代计算机系统可在同一段时间内以进程的形式将多个程序加载到存储器中,并借