安装 配置 Nginx
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相关推荐
- CentOS7.3 安装配置 Nginx、MariaDB、PHP
CentOS7.3 安装配置 Nginx.MariaDB.PHP 配置 nginx 安装参数并安装 配置 以下参数也可以在后期通过配置 conf 文件进行配置 基本配置如下 ./configure - ...
- Linux服务器下安装配置Nginx的教程
这篇文章主要介绍了Linux服务器下安装配置Nginx服务器的教程,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下 Nginx("engine x")是一款 ...
- linux nginx 安装stream,Centos7-64bit-编译安装配置Nginx stream四层负载均衡 动态加载
Centos7-64bit-编译安装配置Nginx stream四层负载均衡 动态加载 2018-08-10 17:12 分享人:老牛 yum install screen -y && ...
- linux nginx编译安装mysql_Centos7下编译安装配置Nginx+PHP+MySql环境
序言 这次玩次狠得.除了编译器使用yum安装,其他全部手动编译.哼~ 看似就Nginx.PHP.MySql三个东东,但是它们太尼玛依赖别人了. 没办法,想用它们就得老老实实给它们提供想要的东西. 首先 ...
- 【Linux系列】安装配置Nginx
[Linux 环境]安装配置Nginx 文章目录 [Linux 环境]安装配置Nginx 前言 一.Nginx是什么? 二.使用Nginx 1.安装nginx 2.配置Nginx 3.配置websoc ...
- centos 一键安装配置nginx脚本
centos 一键安装配置nginx脚本 installNginx.ssh 用vi或则vim编辑 installNginx.ssh #!/bin/bash # author:kwin # Email: ...
- Linux系统下安装配置 Nginx 超详细图文教程
Linux系统下安装配置 Nginx 详细教程介绍 一.下载 Nginx 安装包 打开Nginx官网 :http://nginx.org/en/download.html 然后我们找到一个版本,把鼠标 ...
- Ubuntu安装配置nginx
系Ubuntu安装配置nginx 提示:版本:ubuntu16.0.4,不同版本号方式可能不同; 文章目录 系Ubuntu安装配置nginx 前言 一.使用步骤 1.检查是否安装 2.安装 3.启动 ...
- centos7二进制安装php,Centos7下编译安装配置Nginx+PHP+MySql环境
序言 这次玩次狠得.除了编译器使用yum安装,其他全部手动编译.哼~ 看似就Nginx.PHP.MySql三个东东,但是它们太尼玛依赖别人了. 没办法,想用它们就得老老实实给它们提供想要的东西. 首先 ...
- freebsd nginx php mysql_FreeBSD 安装配置Nginx+PHP+APC+MySQL
在 FreeBSD 下安装软件的传统方法是用 ports 源码安装,不过使用 ports 源码编译安装太耗时(尤其是各种库依赖多.大的时候),个人还是喜欢 pkg 这种软件包管理工具直接安装编译好的二 ...
最新文章
- 艾伟:ASP.NET实用技巧(一)
- iOS App 目录结构
- leetcode 75. 颜色分类(双指针)
- java 极客_Java极客思维
- DBA日常工作职责 - 我对DBA的七点建议
- OFBiz + Opentaps 目录管理 六. 产品目录
- 谈了千百遍的缓存数据一致性问题
- SpringCloud使用Prometheus监控(基于Eureka)
- 在Navicat中修改表结构
- Nagios安装配置教程(二)环境搭建
- ubuntu双系统卸载并重新安装
- 【历史上的今天】7 月 5 日:Google 之母出生;同一天诞生的两位图灵奖先驱
- 股票投资(炒股)之入门基础知识
- 服务器2019添加虚拟机,Hyper-V安装Server 2019虚拟机图文教程
- 祝大家新春快乐,阖家安康
- html怎样使用ui套件,weui框架组件小白入门指南:如何安装使用weui.js?
- 十六进制转ASCII码表
- 《人类简史》这本烧脑书风靡全球的秘密是什么?
- oracle的system账户用normal模式登录失败,提示用户名或密码错误,但是如果用sysdba登录,即使不输入密码,或者密码错误也能登录成功。
- Python第三方库资源