1.安装Nginx

首先到这个网站可以下载源码包:

http://www.nginx.cn/

我是下在root目录下的,输入:

[root@localhost software]# tar -zxvf nginx-0.6.33

然后进入目录输入:

[root@localhost software]# cd nginx-0.6.33

接着开始编译源代码:

[root@localhost nginx-0.6.33]#./configure\
--prefix=/usr/local/wwwtools/nginx/\
--with-http_stub_status_module\
--with-pcre

具体编译具体参数见文章尾

[root@localhost nginx-0.6.33]#make[root@localhost nginx-0.6.33]#make install[root@localhost nginx-0.6.33]#cd /usr/local/nginx/[root@localhost nginx-0.6.33]./nginx &。打开浏览器在地址栏输入127.0.0.1然后会出现一句话 welcome to nginx就是成功了。

配置 优化

server {listen       80;server_name  192.168.1.131 localhost;    set $weburl /home/wwwroot/;#设置变量 保存网站根目录        location / {root   $weburl;index  index.html index.htm index.php;}# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000location ~ \.php$ {include        fastcgi_params;root           $weburl;fastcgi_pass   127.0.0.1:9000;fastcgi_index  index.php;fastcgi_param  SCRIPT_FILENAME  $weburl$fastcgi_script_name;#注意 这里一定要加上网站根目录  否则无法正确解析PHP文件            }#error_page  404              /404.html;# redirect server error pages to the static page /50x.html#error_page   500 502 503 504  /50x.html;location = /50x.html {root   html;}}

nginx 日常管理

Nginx 安装后只有一个程序文件,本身并不提供各种管理程序,它是使用参数和系统信号机制对 Nginx 进程本身进行控制的。 Nginx 的参数包括有如下几个:
-c <path_to_config>:使用指定的配置文件而不是 conf 目录下的 nginx.conf 。
-t:测试配置文件是否正确,在运行时需要重新加载配置的时候,此命令非常重要,用来检测所修改的配置文件是否有语法错误。
-v:显示 nginx 版本号。
-V:显示 nginx 的版本号以及编译环境信息以及编译时的参数。
例如我们要测试某个配置文件是否书写正确,我们可以使用以下命令
sbin/nginx – t – c conf/nginx2.conf

新版本的Nginx 新加了一个参数 -s 具体详情 执行./nginx -h 查看

Usage: nginx [-?hvVtq] [-s signal] [-c filename] [-p prefix] [-g directives]Options:-?,-h         : this help-v            : show version and exit-V            : show version and configure options then exit-t            : test configuration and exit-q            : suppress non-error messages during configuration testing-s signal     : send signal to a master process: stop, quit, reopen, reload-p prefix     : set prefix path (default: /usr/local/wwwtools/nginx//)-c filename   : set configuration file (default: conf/nginx.conf)-g directives : set global directives out of configuration file

该参数可以实现 重新加载 开 关 等操作

2通过信号对 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 重新加载配置。

NGINX conf 配置文件中的变量大全 可用变量列表及说明

$args #这个变量等于请求行中的参数。
$content_length #请求头中的Content-length字段。
$content_type #请求头中的Content-Type字段。
$document_root #当前请求在root指令中指定的值。
$host #请求主机头字段,否则为服务器名称。
$http_user_agent #客户端agent信息
$http_cookie #客户端cookie信息
$limit_rate #这个变量可以限制连接速率。
$request_body_file #客户端请求主体信息的临时文件名。
$request_method #客户端请求的动作,通常为GET或POST。
$remote_addr #客户端的IP地址。
$remote_port #客户端的端口。
$remote_user #已经经过Auth Basic Module验证的用户名。
$request_filename #当前请求的文件路径,由root或alias指令与URI请求生成。
$query_string #与$args相同。
$scheme #HTTP方法(如http,https)。
$server_protocol #请求使用的协议,通常是HTTP/1.0或HTTP/1.1。
$server_addr #服务器地址,在完成一次系统调用后可以确定这个值。
$server_name #服务器名称。
$server_port #请求到达服务器的端口号。
$request_uri #包含请求参数的原始URI,不包含主机名,如:”/foo/bar.php?arg=baz”。
$uri #不带请求参数的当前URI,$uri不包含主机名,如”/foo/bar.html”。
$document_uri #与$uri相同。 
以下是./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--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相关推荐

  1. CentOS7.3 安装配置 Nginx、MariaDB、PHP

    CentOS7.3 安装配置 Nginx.MariaDB.PHP 配置 nginx 安装参数并安装 配置 以下参数也可以在后期通过配置 conf 文件进行配置 基本配置如下 ./configure - ...

  2. Linux服务器下安装配置Nginx的教程

    这篇文章主要介绍了Linux服务器下安装配置Nginx服务器的教程,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下 Nginx("engine x")是一款 ...

  3. linux nginx 安装stream,Centos7-64bit-编译安装配置Nginx stream四层负载均衡 动态加载

    Centos7-64bit-编译安装配置Nginx stream四层负载均衡 动态加载 2018-08-10 17:12 分享人:老牛 yum install screen -y && ...

  4. linux nginx编译安装mysql_Centos7下编译安装配置Nginx+PHP+MySql环境

    序言 这次玩次狠得.除了编译器使用yum安装,其他全部手动编译.哼~ 看似就Nginx.PHP.MySql三个东东,但是它们太尼玛依赖别人了. 没办法,想用它们就得老老实实给它们提供想要的东西. 首先 ...

  5. 【Linux系列】安装配置Nginx

    [Linux 环境]安装配置Nginx 文章目录 [Linux 环境]安装配置Nginx 前言 一.Nginx是什么? 二.使用Nginx 1.安装nginx 2.配置Nginx 3.配置websoc ...

  6. centos 一键安装配置nginx脚本

    centos 一键安装配置nginx脚本 installNginx.ssh 用vi或则vim编辑 installNginx.ssh #!/bin/bash # author:kwin # Email: ...

  7. Linux系统下安装配置 Nginx 超详细图文教程

    Linux系统下安装配置 Nginx 详细教程介绍 一.下载 Nginx 安装包 打开Nginx官网 :http://nginx.org/en/download.html 然后我们找到一个版本,把鼠标 ...

  8. Ubuntu安装配置nginx

    系Ubuntu安装配置nginx 提示:版本:ubuntu16.0.4,不同版本号方式可能不同; 文章目录 系Ubuntu安装配置nginx 前言 一.使用步骤 1.检查是否安装 2.安装 3.启动 ...

  9. centos7二进制安装php,Centos7下编译安装配置Nginx+PHP+MySql环境

    序言 这次玩次狠得.除了编译器使用yum安装,其他全部手动编译.哼~ 看似就Nginx.PHP.MySql三个东东,但是它们太尼玛依赖别人了. 没办法,想用它们就得老老实实给它们提供想要的东西. 首先 ...

  10. freebsd nginx php mysql_FreeBSD 安装配置Nginx+PHP+APC+MySQL

    在 FreeBSD 下安装软件的传统方法是用 ports 源码安装,不过使用 ports 源码编译安装太耗时(尤其是各种库依赖多.大的时候),个人还是喜欢 pkg 这种软件包管理工具直接安装编译好的二 ...

最新文章

  1. 艾伟:ASP.NET实用技巧(一)
  2. iOS App 目录结构
  3. leetcode 75. 颜色分类(双指针)
  4. java 极客_Java极客思维
  5. DBA日常工作职责 - 我对DBA的七点建议
  6. OFBiz + Opentaps 目录管理 六. 产品目录
  7. 谈了千百遍的缓存数据一致性问题
  8. SpringCloud使用Prometheus监控(基于Eureka)
  9. 在Navicat中修改表结构
  10. Nagios安装配置教程(二)环境搭建
  11. ubuntu双系统卸载并重新安装
  12. 【历史上的今天】7 月 5 日:Google 之母出生;同一天诞生的两位图灵奖先驱
  13. 股票投资(炒股)之入门基础知识
  14. 服务器2019添加虚拟机,Hyper-V安装Server 2019虚拟机图文教程
  15. 祝大家新春快乐,阖家安康
  16. html怎样使用ui套件,weui框架组件小白入门指南:如何安装使用weui.js?
  17. 十六进制转ASCII码表
  18. 《人类简史》这本烧脑书风靡全球的秘密是什么?
  19. oracle的system账户用normal模式登录失败,提示用户名或密码错误,但是如果用sysdba登录,即使不输入密码,或者密码错误也能登录成功。
  20. Python第三方库资源

热门文章

  1. 阿里工程师谈,什么是好的代码?
  2. 普及下病毒性感冒和细菌性感冒的区别(如何看血常规)
  3. 51nod 矩阵快速幂模版题
  4. C基础学习之C 输入 输出
  5. JavaWeb: Tomcat优化
  6. 使用SQLyog导出和导入MySQL数据库
  7. phpstorm破解后,运行一段时间后突然有提示没有破解.
  8. 剑指offer刷题记录(上)
  9. 项目leader如何把控团队氛围
  10. 自动摘要生成 tf-idf+doc2vec+句子聚类