`
momodog
  • 浏览: 104770 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Linux服务器安装配置nginx 笔记

 
阅读更多

第一步:检查安装环境

 

gzip 模块需要 zlib 库;rewrite模块需要 pcre 库;ssl功能需要 openssl    

 

获取zlib包

# wget http://www.zlib.net/zlib-1.2.5.tar.gz

获取pcre包

# wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.00.tar.gz

获取openssl包

# wget http://www.openssl.org/source/openssl-0.9.8j.tar.gz

获取nginx源代码包 (获取上传已经下载好的源码包)

# wget http://sysoev.ru/nginx/nginx-0.6.35.tar.gz

 

第二步:解包

 # tar zxvf zlib-1.2.5.tar.gz
 # tar zxvf pcre-8.00.tar.gz
 # tar zxvf openssl-0.9.8j.tar.gz
 # tar zxvf nginx-0.6.35.tar.gz

 

第三步:编译&安装

 

 

 

 

# cd nginx-0.6.35/ 
# ./configure --prefix=/usr/local/nginx-0.6.35 --without-http_ssi_module --with-pcre=../pcre-8.00/ --with-zlib=../zlib-

1.2.5/ --with-openssl=../openssl-0.9.8j --with-http_stub_status_module --with-http_ssl_module --without-http_memcached_module --without-

http_userid_module --without-http_fastcgi_module --without-http_map_module --without-http_geo_module --without-http_autoindex_module 

# make && make install

 

    说明:

--prefix=/usr/local/nginx-0.6.35 # Nginx安装路径。如果没有指定,默认为 /usr/local/nginx。 
--without-http_ssi_module # 禁用 ngx_http_ssi_module 
--with-pcre=../pcre-8.00/ # 指定 PCRE 库的源代码的路径 
--with-zlib=../zlib-1.2.5/ # 指定 zlib 库的源代码路径 
--with-openssl=../openssl-0.9.8j # 指定 openssl 库的源代码路径
--with-http_stub_status_module # 启动监控模块(服务状态查看模块) 
--with-http_ssl_module # 把ssl编译进去, 仅仅指定openssl库的源代码路径还是不够哦 
--without-http_memcached_module # 禁用ngx_http_memcached_module 
--without-http_userid_module # 禁用 ngx_http_userid_module 
--without-http_fastcgi_module # 禁用 ngx_http_fastcgi_module 
--without-http_map_module # 禁用 ngx_http_map_module 
--without-http_geo_module # 禁用 ngx_http_geo_module 
--without-http_autoindex_module # 禁用ngx_http_autoindex_module 

 

第四步:系统配置

/usr/local/nginx/sbin/nginx -h #帮助 
/usr/local/nginx/sbin/nginx -v #显示版本 
/usr/local/nginx/sbin/nginx -V #显示版本和配置信息 
/usr/local/nginx/sbin/nginx -t #测试配置 
/usr/local/nginx/sbin/nginx -q #测试配置时,只输出错误信息 
/usr/local/nginx/sbin/nginx -s stop #停止服务器 
/usr/local/nginx/sbin/nginx -s reload #重新加载配置 
/usr/local/nginx/sbin/nginx -s quit #不知道,估计和stop差不多 
/usr/local/nginx/sbin/nginx -s reopen #不知道,估计和reload类似 
/usr/local/nginx/sbin/nginx -p /nginx/path #默认为/usr/local/nginx(nginx安装路径),修改后影响log目录和html目录
/usr/local/nginx/sbin/nginx -c /configure/file/path #配置文件路径,默认为conf/nginx.conf,有多个配置文件时很有用,用这个可以启动多个不同的nginx监听不同端口 
/usr/local/nginx/sbin/nginx -g #没用过 

 

第五步:启动测试

 

 

# /usr/local/nginx/sbin/nginx 
在浏览器里输入http://ip:port便可以看到welcome to nginx!的字样 

 

 第六步:监控

nginx的ngx_http_stub_status_module提供能够获取Nginx自上次启动以来的工作状态 的功能。如果是编译安装的话,需要–with-http_stub_status_module激活,

当然,如果用yum等源安装,则默认已经激活了。
该模块是基于某个server的,所以必须在server里面
如在http://www.pylong.com/archives/54中的server里面添加
server{
listen 80; #监听80端口
server_name www.pylong.com pylong.com; #绑定域名,多个域名的绑定,用空格分开
index index.html index.php index.htm;#默认读取的文件名
root /var/www/html; #绑定的虚拟目录
location ~ .*.php$ #这个location是把所有关于后缀为php的请求交给php-fastcgi处理
{
include /etc/nginx/fastcgi_params;
fastcgi_pass 127.0.0.1:9000;
}
location /nginx_status {
stub_status on;
access_log off;
allow 192.168.1.1;#设置为可访问该状态信息的ip
deny all;
}
}
然后,reload一下nginx的配置,如果假如了service中,只需要终端运行
#service nginx reload
通过http://www.pylong.com/nginx_status 即可访问
状态信息如下
Active connections: 20
server accepts handled requests
200 200 286
Reading: 0 Writing: 3 Waiting: 6
解释:
active connections:nginx 正处理的活动连接数 20个。
server accepts handled requests:nginx启动到现在共处理了 200个连接 , 成功创建 200 次握手 一般跟第一个一样,差值为请求丢失数, 总共处理了286 次请求

。
reading :nginx 读取到客户端的 Header 信息数。
writing : nginx 返回给客户端的 Header 信息数。
waiting :开启 keep-alive 的情况下,这个值等于 active - (reading + writing),意思就是 Nginx 已经处理完正在等候下一次请求指令的驻留连接。
这个状态信息,从nginx启动算起,包括重载配置文件,也会清零
 

 第七步:通过信号对 Nginx 进行控制

 

 

Nginx 支持下表中的信号:

信号名  作用描述  
TERM, INT 快速关闭程序,中止当前正在处理的请求 
QUIT 处理完当前请求后,关闭程序 
HUP 重新加载配置,并开启新的工作进程,关闭就的进程,此操作不会中断请求 
USR1 重新打开日志文件,用于切换日志,例如每天生成一个新的日志文件 
USR2 平滑升级可执行程序 
WINCH 从容关闭工作进程 

有两种方式来通过这些信号去控制 Nginx,第一是通过 logs 目录下的 nginx.pid 查看当前运行的 Nginx 的进程 ID,通过 kill – XXX <pid> 来控制 Nginx,其

中 XXX 就是上表中列出的信号名。如果您的系统中只有一个 Nginx 进程,那您也可以通过 killall 命令来完成,例如运行 killall – s HUP nginx 来让 Nginx 

重新加载配置

 

PS编译选项:

configure 脚本确定系统所具有一些特性,特别是 nginx 用来处理连接的方法。然后,它创建 Makefile 文件。 

configure 支持下面的选项: 

--prefix=<path> - Nginx安装路径。如果没有指定,默认为 /usr/local/nginx。 

--sbin-path=<path> - Nginx可执行文件安装路径。只能安装时指定,如果没有指定,默认为<prefix>/sbin/nginx。 

--conf-path=<path> - 在没有给定-c选项下默认的nginx.conf的路径。如果没有指定,默认为<prefix>/conf/nginx.conf。 

--pid-path=<path> - 在nginx.conf中没有指定pid指令的情况下,默认的nginx.pid的路径。如果没有指定,默认为 <prefix>/logs/nginx.pid。 

--lock-path=<path> - nginx.lock文件的路径。 

--error-log-path=<path> - 在nginx.conf中没有指定error_log指令的情况下,默认的错误日志的路径。如果没有指定,默认为 <prefix>/logs/error.log。 

--http-log-path=<path> - 在nginx.conf中没有指定access_log指令的情况下,默认的访问日志的路径。如果没有指定,默认为 <prefix>/logs/access.log。 

--user=<user> - 在nginx.conf中没有指定user指令的情况下,默认的nginx使用的用户。如果没有指定,默认为 nobody。 

--group=<group> - 在nginx.conf中没有指定user指令的情况下,默认的nginx使用的组。如果没有指定,默认为 nobody。 

--builddir=DIR - 指定编译的目录 

--with-rtsig_module - 启用 rtsig 模块 

--with-select_module--without-select_module - Whether or not to enable the select module. This module is enabled by default if a more suitable method such as kqueue, epoll, rtsig or /dev/poll is not discovered by configure. 

//允许或不允许开启SELECT模式,如果 configure 没有找到更合适的模式,比如:kqueue(sun os),epoll (linux kenel 2.6+), rtsig(实时信号)或者/dev/poll(一种类似select的模式,底层实现与SELECT基本相 同,都是采用轮训方法) SELECT模式将是默认安装模式 

--with-poll_module--without-poll_module - Whether or not to enable the poll module. This module is enabled by default if a more suitable method such as kqueue, epoll, rtsig or /dev/poll is not discovered by configure. 

--with-http_ssl_module - Enable ngx_http_ssl_module. Enables SSL support and the ability to handle HTTPS requests. Requires OpenSSL. On Debian, this is libssl-dev. 

//开启HTTP SSL模块,使NGINX可以支持HTTPS请求。这个模块需要已经安装了OPENSSL,在DEBIAN上是libssl-dev 

--with-http_realip_module - 启用 ngx_http_realip_module 

--with-http_addition_module - 启用 ngx_http_addition_module 

--with-http_sub_module - 启用 ngx_http_sub_module 

--with-http_dav_module - 启用 ngx_http_dav_module 

--with-http_flv_module - 启用 ngx_http_flv_module 

--with-http_stub_status_module - 启用 "server status" 页 

--without-http_charset_module - 禁用 ngx_http_charset_module 

--without-http_gzip_module - 禁用 ngx_http_gzip_module. 如果启用,需要 zlib 。 

--without-http_ssi_module - 禁用 ngx_http_ssi_module 

--without-http_userid_module - 禁用 ngx_http_userid_module 

--without-http_access_module - 禁用 ngx_http_access_module 

--without-http_auth_basic_module - 禁用 ngx_http_auth_basic_module 

--without-http_autoindex_module - 禁用 ngx_http_autoindex_module 

--without-http_geo_module - 禁用 ngx_http_geo_module 

--without-http_map_module - 禁用 ngx_http_map_module 

--without-http_referer_module - 禁用 ngx_http_referer_module 

--without-http_rewrite_module - 禁用 ngx_http_rewrite_module. 如果启用需要 PCRE 。 

--without-http_proxy_module - 禁用 ngx_http_proxy_module 

--without-http_fastcgi_module - 禁用 ngx_http_fastcgi_module 

--without-http_memcached_module - 禁用 ngx_http_memcached_module 

--without-http_limit_zone_module - 禁用 ngx_http_limit_zone_module 

--without-http_empty_gif_module - 禁用 ngx_http_empty_gif_module 

--without-http_browser_module - 禁用 ngx_http_browser_module 

--without-http_upstream_ip_hash_module - 禁用 ngx_http_upstream_ip_hash_module 

--with-http_perl_module - 启用 ngx_http_perl_module 

--with-perl_modules_path=PATH - 指定 perl 模块的路径 

--with-perl=PATH - 指定 perl 执行文件的路径 

--http-log-path=PATH - Set path to the http access log 

--http-client-body-temp-path=PATH - Set path to the http client request body temporary files 

--http-proxy-temp-path=PATH - Set path to the http proxy temporary files 

--http-fastcgi-temp-path=PATH - Set path to the http fastcgi temporary files 

--without-http - 禁用 HTTP server 

--with-mail - 启用 IMAP4/POP3/SMTP 代理模块 

--with-mail_ssl_module - 启用 ngx_mail_ssl_module 

--with-cc=PATH - 指定 C 编译器的路径 

--with-cpp=PATH - 指定 C 预处理器的路径 

--with-cc-opt=OPTIONS - Additional parameters which will be added to the variable CFLAGS. With the use of the system library PCRE in FreeBSD, it is necessary to indicate --with-cc-opt="-I /usr/local/include". If we are using select() and it is necessary to increase the number of file descriptors, then this also can be assigned here: --with-cc-opt="-D FD_SETSIZE=2048". 

--with-ld-opt=OPTIONS - Additional parameters passed to the linker. With the use of the system library PCRE in FreeBSD, it is necessary to indicate --with-ld-opt="-L /usr/local/lib". 

--with-cpu-opt=CPU - 为特定的 CPU 编译,有效的值包括:pentium, pentiumpro, pentium3, pentium4, athlon, opteron, amd64, sparc32, sparc64, ppc64 

--without-pcre - 禁止 PCRE 库的使用。同时也会禁止 HTTP rewrite 模块。在 "location" 配置指令中的正则表达式也需要 PCRE 。 

--with-pcre=DIR - 指定 PCRE 库的源代码的路径。 

--with-pcre-opt=OPTIONS - Set additional options for PCRE building. 

--with-md5=DIR - Set path to md5 library sources. 

--with-md5-opt=OPTIONS - Set additional options for md5 building. 

--with-md5-asm - Use md5 assembler sources. 

--with-sha1=DIR - Set path to sha1 library sources. 

--with-sha1-opt=OPTIONS - Set additional options for sha1 building. 

--with-sha1-asm - Use sha1 assembler sources. 

--with-zlib=DIR - Set path to zlib library sources. 

--with-zlib-opt=OPTIONS - Set additional options for zlib building. 

--with-zlib-asm=CPU - Use zlib assembler sources optimized for specified CPU, valid values are: pentium, pentiumpro 

--with-openssl=DIR - Set path to OpenSSL library sources 

--with-openssl-opt=OPTIONS - Set additional options for OpenSSL building 

--with-debug - 启用调试日志 

--add-module=PATH - Add in a third-party module found in directory PATH 

 

分享到:
评论

相关推荐

    nginx笔记.zip

    **Nginx基础概念** Nginx是一款高性能的HTTP和反向代理服务器,同时也是一款邮件代理服务器。它的设计目标是高并发、低内存占用以及稳定可靠。...阅读"nginx笔记.pdf",可以更详细地了解Nginx的配置和使用技巧。

    nginx 笔记和资料

    **Nginx简介** Nginx是一款高性能的HTTP和反向代理服务器,也是一款邮件代理服务器,由伊戈尔·赛索耶夫(Igor ...提供的“nginx笔记+资料”压缩包应该包含了更详细的信息,可以帮助你进一步掌握Nginx的相关知识。

    Nginx学习笔记.zip

    安装Nginx涉及下载源码、编译配置和启动服务等步骤,在Linux系统中,常用的是通过包管理器如apt或yum来安装,而在Windows环境中则可直接下载二进制文件。 第二节课可能会深入到Nginx的配置文件结构和配置指令。...

    马哥的linux学习笔记

    笔记讲解了防火墙配置、SELinux、chroot环境以及如何设置安全策略,帮助读者构建安全的Linux环境。 最后,笔记还涉及了一些高级话题,如脚本编程(bash shell script)、系统监控(如top、htop、iotop等)、性能...

    nginx学习笔记

    以上是关于 Nginx 及其在分布式服务架构中的应用、与其他 Web 服务器的比较以及 LNMP 的安装配置过程的详细介绍。通过这些内容的学习,可以帮助读者更好地理解 Nginx 的特性和应用场景,以及如何搭建基于 Nginx 的 ...

    nginx学习笔记.zip

    本学习笔记将深入探讨Nginx的核心概念、安装与配置、反向代理、负载均衡、缓存管理以及日志记录等多个方面,旨在帮助读者全面掌握Nginx的使用技巧。 **一、Nginx核心概念** 1. **事件模型**:Nginx采用异步非阻塞...

    nginx笔记+资料.zip

    nginx作为linux服务器的应用之一,有着举足轻重的地位,并且nginx的市场份额也在逐步猛增,学好Nginx是技术人员必备技能,包括开发人员。 资源包含:location的解析过程;nginx.ppt;Nginx详解;Nginx笔记;nginx...

    LNMP源码安装详细笔记(Linux+Nginx+Mysql+php).rar

    源码安装MySQL涉及到下载源代码,配置编译选项,如设置安装路径、调整优化参数等,之后同样需要`make`和`make install`。安装完成后,还需要初始化数据库,创建root用户,并设置安全选项。 4. PHP:PHP是一种服务器...

    Nginx学习笔记

    在配置和管理方面,Nginx表现出色,支持基于域名、端口、IP的多虚拟主机设置,以及keepalived和pipelined连接。配置文件修改后,Nginx可以通过平滑重启来更新配置,不会中断服务。它提供了自定义日志格式、快速日志...

    CentOS6环境FastDFS+Nginx安装配置笔记.pdf

    在本篇《CentOS6环境FastDFS+Nginx安装配置笔记》中,主要涉及的是在 CentOS 6操作系统上搭建FastDFS分布式文件系统以及Nginx反向代理服务器的过程。FastDFS是一个开源的高性能、轻量级的分布式文件系统,而Nginx则...

    LNMP源码安装详细笔记(Linux+Nginx+Mysql+php).pdf

    本篇笔记详细记录了在Linux环境下,通过源代码方式安装LNMP各组件的过程。 首先,我们来看安装环境: - MySQL:5.1.59 版本 - PCRE:8.12 版本 - Nginx:1.1.6 版本 - PHP:5.2.17 版本,且包含了PHP-FPM(FastCGI ...

    linux+软件安装+课堂笔记

    Linux 软件安装课堂笔记 本篇笔记主要介绍了 Linux 操作系统的相关知识,包括 Linux 的简介、 Linux 的应用领域、 Linux 发行版、Linux 安装、环境搭建等。 一、Linux 简介 Linux 是一套免费使用和自由传播的类 ...

    linux(debian)服务器配置笔记

    ### Linux (Debian) 服务器配置笔记 #### 安装与基本信息查看 1. **安装源设置** - Debian 的安装源配置对于确保系统能够访问最新的软件包和更新至关重要。通常,用户会替换默认的 Debian 镜像站点,以便更快地...

    笔记配置文档_linux_

    【标题】:“笔记配置文档_linux_” 涵盖了在Linux操作系统环境下进行软件安装与配置的相关知识。这些笔记详细记录了多个关键组件的安装步骤和配置方法,旨在帮助用户在Linux环境中顺利搭建和管理软件服务。 【描述...

    nginx课堂笔记01

    安装完成后,需要配置Linux系统以连接网络。在CentOS中,可以通过修改网卡配置文件来实现。打开 `/etc/sysconfig/network-scripts/ifcfg-ens33` 文件,将 `ONBOOT=yes`,确保网络服务开机启动。然后重启网络服务,...

    cpp-Nginx安装维护入门学习笔记以及各种实例

    在`nginx-tutorial-master`压缩包中,可能包含了Nginx安装配置的详细步骤、简单的HTTP服务器实例、反向代理及负载均衡配置示例、安全策略设置等内容。这些实例可以帮助初学者深入理解Nginx的工作原理和配置技巧,...

    linux优化笔记

    在linux系统下只有运行SMP内核才能支持超线程,但是安装的CPu数量越多,从超线程获得的性能提升越少。 另外linux内核会将多核的处理器当做多个单独的CPU来识别,例如,两个4核的CPU会被当成8个单个CPU,从性能角度讲...

    nginx1.8和入门笔记.zip

    压缩包内有win版本和linux版本 Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)...

    Nginx课程笔记1

    然后下载Nginx的源代码,解压后通过`configure`脚本进行配置,再用`make`编译,最后`make install`将Nginx安装到指定目录,如`/usr/local/nginx`。启动、停止和重载配置可以通过执行Nginx可执行文件的不同参数来完成...

    Nginx入门用的笔记

    3. **编辑配置文件**:在 `/etc/yum.repos.d/nginx.repo` 文件中添加如下内容,以配置 Nginx 仓库: ```plaintext [nginx-stable] name=nginx stable repo baseurl=http://nginx.org/packages/centos/$...

Global site tag (gtag.js) - Google Analytics