nginx安装手册
2019年nginx安装手册
Nginx安装手册1nginx安装环境nginx是C语言开发,建议在linux上运行,本教程使用作为安装环境。
⏹gcc安装nginx需要先将官网下载的源码进行编译,编译依赖gcc环境,如果没有gcc环境,需要安装gcc:yum install gcc-c++⏹PCREPCRE(Perl Compatible Regular Expressions)是一个Perl库,包括perl 兼容的正则表达式库。
nginx的http模块使用pcre来解析正则表达式,所以需要在linux上安装pcre库。
yum install -y pcre pcre-devel注:pcre-devel是使用pcre开发的一个二次开发库。
nginx也需要此库。
⏹zlibzlib库提供了很多种压缩和解压缩的方式,nginx使用zlib对http包的内容进行gzip,所以需要在linux上安装zlib库。
yum install -y zlib zlib-devel⏹opensslOpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用。
nginx不仅支持http协议,还支持https(即在ssl协议上传输http),所以需要在linux 安装openssl库。
yum install -y openssl openssl-devel2编译安装将拷贝至linux服务器。
解压:tar -zxvf --help查询详细参数(参考本教程附录部分:nginx编译参数)参数设置如下:./configure \--prefix=/usr/local/nginx \--pid-path=/var/run/nginx/ \--lock-path=/var/lock/ \--error-log-path=/var/log/nginx/ \--http-log-path=/var/log/nginx/ \--with-http_gzip_static_module \--http-client-body-temp-path=/var/temp/nginx/client \--http-proxy-temp-path=/var/temp/nginx/proxy \--http-fastcgi-temp-path=/var/temp/nginx/fastcgi \--http-uwsgi-temp-path=/var/temp/nginx/uwsgi \--http-scgi-temp-path=/var/temp/nginx/scgi注意:上边将临时文件目录指定为/var/temp/nginx,需要在/var下创建temp及nginx目录[root@bogon mkdir /var/temp/nginx -p1、编译安装makemake install安装成功查看安装目录:3启动nginxcd /usr/local/nginx/sbin/./nginx查询nginx进程:15098是nginx主进程的进程id,15099是nginx工作进程的进程id注意:执行./nginx启动nginx,这里可以-c指定加载的nginx配置文件,如下:./nginx -c /usr/local/nginx/conf/如果不指定-c,nginx在启动时默认加载conf/文件,此文件的地址也可以在编译安装nginx 时指定./configure的参数(--conf-path= 指向配置文件())4停止nginx方式1,快速停止:cd /usr/local/nginx/sbin./nginx -s stop此方式相当于先查出nginx进程id再使用kill命令强制杀掉进程。
思迪信息WEB服务器安装说明文档(nginx)
Nginx服务器安装说明文档版本历史目录1 文档介绍 (4)1.1 文档目的 (4)1.2 文档范围 (4)1.3 读者对象 (4)1.4 参考文献 (4)1.5 术语与缩写解释 (4)2 安装步骤 (1)2.1 创建启动用户与组 (1)2.2 安装Nginx需要的PCRE库 (1)2.3 安装Nginx服务器 (1)2.4 配置Nginx为系统服务 (1)2.5 修改Nginx配置文件 (2)1文档介绍1.1文档目的本文档主要描述nginx服务器的安装步骤。
1.2文档范围1.3读者对象公司内部研发人员、项目实施人员、安装与维护人员等。
1.4参考文献1.5术语与缩写解释2安装步骤2.1创建启动用户与组[root@localhost /]# groupadd webmaster[root@localhost /]# useradd –g webmaster webmaster2.2安装Nginx需要的PCRE库[root@localhost /]# cd /opt/install/[root@localhost install]# tar zxvf pcre-8.10.tar.gz[root@localhost install]# cd pcre-8.10[root@localhost pcre-8.10]# ./configure[root@localhost pcre-8.10]# make[root@localhost pcre-8.10]# make install2.3安装Nginx服务器[root@localhost /]# cd /opt/install/[root@localhost install]# tar zxvf nginx-0.7.67.tar.gz[root@localhost install]# cd nginx-0.7.67用当前目录中的nginx.h文件替换/opt/install/nginx-0.7.67/src/core目录中的nginx.h文件[root@localhost nginx-0.7.67]# ./configure --prefix=/opt/software/nginx --with-http_stub_ status_module --with-http_ssl_module --with-http_realip_module[root@localhost nginx-0.7.67]# make[root@localhost nginx-0.7.67]# make install2.4配置Nginx为系统服务1.把目录中的nginx启动脚本文件拷贝到/etc/init.d目录2.修改nginx相关配置目录打开nignx文件,确保其中目录配置如下:nginxd=/opt/software/nginx/sbin/nginxnginx_config=/opt/software/nginx/conf/nginx.confnginx_pid=/var/run/nginx.pid3.修改脚本权限[root@localhost init.d]# cd /etc/init.d[root@localhost init.d]# chmod 755 nginx4.配置nginx运行级别chkconfig --level 2345 nginx on以上步骤完成之后,就可以使用如下的命令管理nginx启动nginx:service nginx start停止nginx:service nginx stop查看状态:service nginx status2.5修改Nginx配置文件1.拷备配置文件HTTP协议站点,拷贝[配置文件/HTTP协议配置/conf]目录中的所有文件到nginx的配置目录(/opt/software/nginx/conf),覆盖以前的文件HTTPS协议站点,拷贝[配置文件/HTTPS协议配置/conf]目录中的所有文件到nginx的配置目录(/opt/software/nginx/conf),覆盖以前的文件2.修改配置文件名称进入/opt/software/nginx/conf/servers目录,把文件改为当前需要配置的服务器的域名(如汇天富网站则修改为)3.修改配置文件拷贝的其它配置文件都是标准文件,不需要修改,根据环境的不同,需要修改改名后的文件,替换其中的相应内容即可。
nginx详细配置
nginx详细配置Nginx内容概览1、nginx简介(1)介绍 nginx的应⽤场景和具体可以做什么事情(2)介绍什么是反向代理(3)介绍什么是负载均衡(4)介绍什么是动静分离2、nginx安装(1)介绍 nginx在 linux系统中如何进⾏安装3、nginx常⽤的命令和配置⽂件(1)介绍 nginx启动、关闭、重新加载命令(2)介绍 nginx的配置⽂件4、nginx配置实例-反向代理5、nginx配置实例-负载均衡6、nginx配置实例-动静分离7、nginx原理与优化参数配置8、搭建 nginx⾼可⽤集群(1)搭建 nginx⾼可⽤集群(主从模式)(2)搭建 nginx⾼可⽤集群(双主模式)第 1 章 Nginx 简介1.1 Nginx 概述Nginx ("engine x") 是⼀个⾼性能的 HTTP 和反向代理服务器,特点是占有内存少,并发能⼒强,事实上 nginx的并发能⼒确实在同类型的⽹页服务器中表现较好,中国⼤陆使⽤ nginx⽹站⽤户有:百度、京东、新浪、⽹易、腾讯、淘宝等1.2 Nginx 作为 web 服务器Nginx 可以作为静态页⾯的 web 服务器,同时还⽀持 CGI 协议的动态语⾔,⽐如 perl、php等。
但是不⽀持 java。
Java程序只能通过与tomcat配合完成。
Nginx专为性能优化⽽开发,性能是其最重要的考量,实现上⾮常注重效率,能经受⾼负载的考验,有报告表明能⽀持⾼达50,000个并发连接数。
1.3 正向代理Nginx 不仅可以做反向代理,实现负载均衡。
还能⽤作正向代理来进⾏上⽹等功能。
正向代理:如果把局域⽹外的 Internet 想象成⼀个巨⼤的资源库,则局域⽹中的客户端要访问Internet,则需要通过代理服务器来访问,这种代理服务就称为正向代理。
1.4 反向代理反向代理,其实客户端对代理是⽆感知的,因为客户端不需要任何配置就可以访问,我们只需要将请求发送到反向代理服务器,由反向代理服务器去选择⽬标服务器获取数据后,在返回给客户端,此时反向代理服务器和⽬标服务器对外就是⼀个服务器,暴露的是代理服务器地址,隐藏了真实服务器 IP地址。
Nginx 中文手册-从入门到精通 文档
host
GET
/uri HTTP/1.0 nginx http0.9 1.0 1.1 nginx ngx_http_process_request_headers ngx_http_read_request_header ngx_http_request_t HTTP ngx_http_headers_in hash :Host nginx ngx_http_process_request ngx_http_request_handler ngx_http_handler ngx_http_request_handler ngx_http_request_t write_event_handler body write_event_handler read_event_handler ngx_http_core_run_phases ngx_http_handler ngx_http_process_host handler host
ngx_http_core_run_phases
filter
header filter
ngx_http_header_filter nginx ( body ) nginx client_header_buffer_size buffer large_buffer
buffer buffer buffer 4 8k buffer
nginx ./nginx -s stop
listen
socket
listenfd
accept_mutex worker worker nginx
master bug worker
worker
worker
nginx nginx nginx apache apache worker worker
nginx下载安装
nginx下载安装
环境:centos 7
1:下载Nginx
访问Nginx官⽹,选择⼀个版本获取下载链接,如下:
使⽤wget 命令下载Nginx,如下:
wget /download/nginx-1.16.0.tar.gz
2:解压Nginx
使⽤tar -zxvf 命令解压Nginx安装包,如下:
3:安装Nginx
进⼊到解压后的Nginx⽬录,使⽤ ./configure --prefix=/usr/local/nginx 命令指定nginx的安装位置,我们指定了/usr/local/nginx这个⽬录
执⾏过程中如果出现如下错误:
则需要安装prce 库,使⽤yum installl pcre 命令进⾏安装
这⾥仅仅安装pcre是不⾏的,⼀样会提⽰需要pcre库,这⾥
还要安装pcre-devel,我们继续执⾏yum install pcre-devel 命令进⾏安装
我们再次执⾏./configure --prefix=/usr/local/nginx
会出现如下错误:
提⽰我们安装zlib,我们继续执⾏yum install zlib命令安装zlib,⼀样我们也要安装zlib-devel 。
安装完毕后,重新执⾏./configure --prefix=/usr/local/nginx命令,如下:
说明我们已经ok
接下来,我们使⽤make && make install 命令进⾏编译安装nginx
进⼊到/usr/local⽬录下我们可以看到多了nginx⽬录,说明我们已经安装成功。
Nginx+tomcat+ssl安装配置手册
Nginx + tomcat + SSL 安装配置手册1.介绍Nginx ("engine x") 是一个高性能的 HTTP 和反向代理服务器,也是一个IMAP/POP3/SMTP 代理服务器。
nginx有以下几项基本特性:模块化结构过滤器包括gzipping, byte ranges, chunked responses,以及 SSI-filter等filter。
高性能支持内核Poll模型,能经受高负载的考验,有报告表明能支持高达 50,000个并发连接数。
高稳定性Nginx采取了分阶段资源分配技术,使得它的CPU与内存占用率非常低。
官方表示保持10,000个没有活动的连接,它只占2.5M内存。
多负载策略多种分配策略,并且分配均匀。
自Nginx 发布四年来,Nginx 已经因为它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名了。
目前国内各大门户网站已经部署了Nginx,如新浪、网易、腾讯等;国内几个重要的视频分享网站也部署了Nginx,如六房间、酷6等。
2.准备2.1 资源Nginx中文网站:/Nginx英文网站:/PCRE网站:/2.2 相关软件1)PCREPCRE(Perl Compatible Regular Expressions)中文含义:perl语言兼容正则表达式)是一个用C语言编写的正则表达式函数库。
neginx中使用正则表达式进行灵活配置,安装之前需要确认PCRE已安装。
下载地址:/,使用版本pcre-8.12.tar.gz2)nginx-upstream-jvm-routenginx_upstream_jvm_route 是一个 Nginx 的扩展模块,用来实现基于Cookie 的Session Sticky 的功能。
下载地址(svn):/svn/trunk/3.4.4.1 Windows版安装安装文件为.zip文件,解压缩后,运行目录中的nginx.exe(或使用命令),服务启动。
Nginx-1.18.0的安装配置与使用
Nginx-1.18.0的安装配置与使⽤⼀、安装1.1 yum安装(1) 配置好yum源与epel源#本地光盘yum源[development]name=dvdbase repobaseurl=file:///mnt/cdrom/enabled=1gpgcheck=1gpgkey=file:///mnt/cdrom/RPM-GPG-KEY-CentOS-7#在线阿⾥云yum源[aliyun]name=aliyun repobaseurl=https:///centos/$releasever/os/$basearch/enabled=1gpgchedk=1gpgkey=https:///centos/$releasever/os/$basearch/RPM-GPG-KEY-CentOS-$releasever#在线阿⾥云EPEL源[aliyunEpel]name=aliyun epelbaseurl=https:///epel/$releasever/$basearchenabled=1gpgcheck=1gpgkey=https:///epel/RPM-GPG-KEY-EPEL-$releasever(2) 安装[root@localhost ~]# yum install -y nginx1.2 编译安装(1) 下载安装包[root@localhost ~]# wget https:///download/nginx-1.18.0.tar.gz(2) 安装相关依赖包[root@localhost ~]# yum install -y gcc pcre-devel openssl-devel zlib-devel(3) 创建nginx⽤户,解压源码包,开始编译安装[root@localhost ~]# useradd -r -s /sbin/nologin nginx[root@localhost ~]# tar -xf nginx-1.18.0.tar.gz[root@localhost ~]# cd nginx-1.18.0/[root@localhost nginx-1.18.0]# ./configure --prefix=/usr/local/nginx \> --user=nginx \> --group=nginx \> --with-http_ssl_module \> --with-http_v2_module \> --with-http_realip_module \> --with-http_stub_status_module \> --with-http_gzip_static_module \> --with-pcre \> --with-stream \> --with-stream_ssl_module \> --with-stream_realip_module[root@localhost nginx-1.18.0]# make && make install./configure --prefix=/usr/local/nginx \--user=nginx \--group=nginx \--with-http_ssl_module \--with-http_v2_module \--with-http_realip_module \--with-http_stub_status_module \--with-http_gzip_static_module \--with-pcre \--with-stream \--with-stream_ssl_module \--with-stream_realip_module编译代码(4) 启动nginx#直接启动[root@localhost ~]# /usr/local/nginx/sbin/nginx#或创建软链接启动[root@localhost ~]# ln -s /usr/local/nginx/sbin/nginx /usr/sbin/[root@localhost ~]# ll /usr/sbin/nginxlrwxrwxrwx 1 root root 27 Jun 1711:42 /usr/sbin/nginx -> /usr/local/nginx/sbin/nginx[root@localhost ~]# nginx⼆、配置⽂件详解#全局配置端user nginx nginx; #启动Ngnix⼯作进程的⽤户和组worker_processes [number | auto]; #启动的⼯作进程数worker_cpu_affinity 0001001001001000 #将Nginx⼯作进程绑定到指定的CPU核⼼,默认Nginx是不进⾏进程绑定的error_log file [debug | info | notice | warn | error | crit | alert | emerg] #错误⽇志配置#error_log logs/error.log;#error_log logs/error.log notice;pid logs/nginx.pid; #pid⽂件保存路径work_priority 0; #⼯作进程的优先级 -20~19work_rlimit_nofile 65536; #⼯作进程最⼤打开⽂件数daemon off|on; #前台运⾏nginx⽤于测试,docker等环境,默认为onmaster_process off|on; #是否开启Nginx的master-woker⼯作模式,关闭后 nginx就不会fork出worker⼦进程来处理请求,⽽是以master进程⾃⾝来处理请求events { #events设置块worker_connections 1024; #设置单个nginx⼯作进程可以接爱的最⼤并发连接数据; ##在nginx作为http服务器的时候,最⼤连接数为worker_processes * worker_connctions;在nginx作为反向代理服务器的时候,最⼤连接数为worker_processes * worker_connections / 2 use epoll; #使⽤epoll事件驱动,Nginx⽀持众多的事件驱动,⽐如select、poll、epoll,只能设置在events模块中设置accept_mutex on; #优化同⼀时刻只有⼀个请求⽽避免多个睡眠进程被唤醒的设置,on为防⽌被同时唤醒默认为off,全部唤醒的过程也成为"惊群",因此nginx刚安装完以后要进⾏适当的优化multi_accept on; #Nginx服务器的每个⼯作进程可以同时接受多个新的⽹络连接,但是需要在配置⽂件中配置,此指令默认为关闭,即默认为⼀个⼯作进程只能⼀次接受⼀个新的⽹络连接,打开后⼏个同时接受多个}http { #http设置块include mime.types; #导⼊⽀持的⽂件类型default_type application/octet-stream; #设置默认的类型,会提⽰下载不匹配的类型⽂件#⽇志配置部分#log_format main '$remote_addr - $remote_user [$time_local] "$request" '# '$status $body_bytes_sent "$http_referer" '# '"$http_user_agent" "$http_x_forwarded_for"';#access_log logs/access.log main;#⾃定义优化参数sendfile on; #指定是否使⽤sendfile系统调⽤来传输⽂件#tcp_nopush on; #在开启了sendfile的情况下,合并请求后统⼀发送给客户端#tcp_nodelay off; #在开启了keepalived模式下的连接是否启⽤TCP_NODELAY选项,当为off时,延迟0.2s发送,默认为on,不延迟发送,⽴即发送⽤户相应报⽂ keepalive_timeout 65; #设置会话保持时间,单位是秒#gzip on; #开启⽂件压缩server {listen 80; #设置监听地址和端⼝server_name localhost; #设置server name,可以以空格隔开写多个,⽀持正则表达式,如 *,www.aaa.* ~^www\d+\.aaa\.com$ default_server#charset koi8-r; #设置编码格式,默认是俄语格式,可以改为utf-8#access_log logs/host.access.log main; #设备访问⽇志location / {root html; #指定⽹站⽬录index index.html index.htm; #指定默认⽹页⽂件,此指令由ngx_http_index_module模块提供}#error_page 404 /404.html;# redirect server error pages to the static page /50x.html#error_page 500502503504 /50x.html;location = /50x.html {root html;}# proxy the PHP scripts to Apache listening on 127.0.0.1:80##location ~ \.php$ { #以http的⽅式转发php请求到指定web服务器# proxy_pass http://127.0.0.1;#}# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000##location ~ \.php$ { #以fastcgi的⽅式转发php请求到php处理# root html;# fastcgi_pass 127.0.0.1:9000;# fastcgi_index index.php;# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;# include fastcgi_params;#}# deny access to .htaccess files, if Apache's document root# concurs with nginx's one##location ~ /\.ht { #拒绝web形式访问指定⽂件,如很多的⽹站都是通过.htaccess⽂件来改变⾃⼰的重定向等功能。
Linux安装Nginx步骤详解
Linux安装Nginx步骤详解1. Nginx安装步骤1.1 官⽹介绍1.2 上传安装包上传到指定⽬录中 /usr/local/src1.3 解压Nginx 压缩⽂件1.移动安装⽬录到指定⽂件mv nginx-1.19.4.tar.gz software/2.修改⽂件名称mv nginx-1.19.4 nginx1.4 关于nginx ⽬录说明1.5 安装nginx服务器说明:在源⽂件中执⾏如下命令./configure直接结果:makemake install1.6 nginx命令说明说明: nginx⼯作⽬录说明路径:命令:1.windows命令:1.启动命令: start nginx2.重启命令: nginx -s reload3.关闭命令: nginx -s stop2.Linux命令:1.启动命令: ./nginx2.重启命令: ./nginx -s reload3.关闭命令: ./nginx -s stop1.7 修改nginx配置⽂件需求说明:1.实现图⽚反向代理2.实现tomcat负载均衡实现具体实现:修改完成之后,重启nginx服务器.#配置图⽚代理服务器 :80server {listen 80;server_name ;location / {#root D:/JT-SOFT/images;root /usr/local/src/images;}}#配置商品后台服务器server{listen 80;server_name ;location / {#代理真实服务器地址#proxy_pass http://localhost:8091;#映射到集群#proxy_pass http://jtWindows;proxy_pass http://jtLinux;}}#配置tomcat服务器集群 1.默认轮询策略 2.权重策略 3.ip_hash策略 upstream jtWindows {#ip_hash; down 标识宕机 backup 备⽤机#max_fails=1 表⽰最⼤的失败次数#fail_timeout=60s 如果访问不通,则在60秒内,不会再次访问故障机 server 127.0.0.1:8081 max_fails=1 fail_timeout=60s;server 127.0.0.1:8082 max_fails=1 fail_timeout=60s;server 127.0.0.1:8083 max_fails=1 fail_timeout=60s;}upstream jtLinux {server 192.168.126.129:8081;server 192.168.126.129:8082;server 192.168.126.129:8083;}1.8.修改hosts⽂件说明:由于没有购买image/的域名,所以需要通过hosts⽂件修改转向.修改windows中的hosts⽂件:# 京淘配置192.168.126.129 192.168.126.129 #IP 域名映射关系#127.0.0.1 #127.0.0.1 127.0.0.1 127.0.0.1 127.0.0.1 localhost#bug 丢最后⼀个字母问题1.9效果展现到此这篇关于Linux安装Nginx步骤详解的⽂章就介绍到这了,更多相关Linux安装Nginx步骤内容请搜索以前的⽂章或继续浏览下⾯的相关⽂章希望⼤家以后多多⽀持!。
Nginx安装
Nginx 服务器的安装及配置文件详解如下:一、安装依赖的程序1. gzip module requires zlib library(/)2. rewrite module requires pcre library (/projects/pcre/files/)3. ssl support requires openssl library (/)根据实际情况安装时确定,我在安装的时候,只缺少了pcre这个库/projects/pcre/files/,其他没遇到,如果需要也可以下载,就到网上搜索二、安装首先上传到pcre zip 文件,解压后,到时候ngnix需要指定解压的路径,加载所需要的文件./configuremakemake install默认安装的路径是/usr/local/nginx更多的安装配置./configure --prefix=/home/nginx--with-openssl=/home/nginx/include (启用ssl)--with-pcre=/home/nginx/pcre-8.12 (启用正规表达式这里可能是源代码的路径)--with-http_stub_status_module (安装可以查看nginx状态的程序)--with-http_memcached_module (启用memcache缓存)--with-http_rewrite_module (启用支持url重写)三、启动及重启启动:nginx重启:kill -HUP `cat /usr/local/nginx/logs/nginx.pid`测试配置文件:nginx -t简单吧,安装,启动都比较方便。
四、配件文件http服务配置文件:复制代码#运行用户user nobody nobody;#启动进程worker_processes 5;#全局错误日志及PID文件error_log logs/error.log notice;pid logs/nginx.pid;#工作模式及连接数上限events {#工作模式有:select(标准模式),poll(标准模式),kqueue(高效模式,适用FreeBSD 4.1+, OpenBSD 2.9+, NetBSD 2.0 and MacOS X),#epoll(高效模式,本例用的。
nginx安装升级及配置详解
nginx安装升级及配置详解1.简介2.安装配置3.配置⽂件介绍4.启动、停⽌、平滑重启、升级⼀、Nginx简介Nginx(engine x)是俄罗斯⼈Igor Sysoev编写的⼀款⾼性能的http和反向代理服务器。
在连接⾼并发的情况下,nginx是apache服务器不错的替代品,它能够⽀持50000个并发连接数的响应,⽽内存、cpu等系统资源资源消耗却⾮常低,运⾏⾮常稳定。
性能优势:作为web服务器,处理静态⽂件、索引⽂件及⾃动索引效率⾼作为代理服务器,快速⾼效反向代理作为负载均衡服务器性能,⽀持多并发的连接,占⽤低内存稳定,采⽤分段资源分配技术⾼可⽤,⽀持热部署,启动迅速其它特点:成本低廉;配置⽂件⾮常简单;⽀持Rewrite重写规则,能够根据域名、URL的不同,将http请求分到不同的后端服务器群组;内置健康检查功能,如果nginx proxy后端的某台web服务器宕机了,不会影响到前端的访问;节省带宽,⽀持gzip压缩;⼆、Nginx安装与配置编译安装1.⾸先下载gcc编译器以及nginx⼀些模块的依赖库,通常有pcre库(⽀持rewrite模块),zlib(⽀持gzip模块)库,openssl(⽀持ssl模块)库等。
这些库可以编译安装,也可以yum安装,这⾥选择yum安装。
# yum install -y gcc gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel2.然后选择nginx版本下载源码并解压# tar –zxvf nginx-1.12.2.tar.gz –C /PATH3.使⽤configure脚本⾃动⽣成Makefile⽂件,nginx的configure脚本⽀持常⽤选项如下,但⾸先给出⼀个例⼦:./configure --prefix=/usr/local/nginx \--conf-path=/etc/nginx/nginx.conf \--error-log-path=/datadisk/data/log/nginx/error.log \--http-log-path=/datadisk/data/log/nginx/access.log \--pid-path=/var/run/nginx.pid \--lock-path=/var/run/nginx.lock \--http-client-body-temp-path=/var/cache/nginx/client_temp \--http-proxy-temp-path=/var/cache/nginx/proxy_temp \--http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp \--http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp \--http-scgi-temp-path=/var/cache/nginx/scgi_temp \--user=nginx \--group=nginx \--with-http_ssl_module \--with-http_realip_module \--with-http_addition_module \--with-http_sub_module \--with-http_dav_module \--with-http_flv_module \--with-http_mp4_module \--with-http_gunzip_module \--with-http_gzip_static_module \--with-http_random_index_module \--with-http_secure_link_module \--with-http_stub_status_module \--with-http_auth_request_module \--with-threads --with-stream \--with-stream_ssl_module \--with-http_slice_module \--with-file-aio \--with-http_v2_module \--with-ipv6然后make && make install即可。
nginx 菜鸟教程
nginx 菜鸟教程nginx是一款开源的Web服务器软件。
它具有高并发、高性能和低内存消耗等特点,适用于构建稳定可靠的大型网站和分布式应用。
nginx的安装及配置非常简单。
可以通过以下步骤来完成安装:1. 打开终端,使用以下命令安装nginx:```sudo apt-get updatesudo apt-get install nginx```2. 安装完成后,可以通过以下命令启动nginx:```sudo service nginx start```3. 默认情况下,nginx会监听80端口。
可以通过在浏览器中输入服务器的IP地址来访问nginx的欢迎页面,确认nginx是否正常工作。
nginx的配置文件位于/etc/nginx/nginx.conf。
可以使用任何文本编辑器打开该文件,对nginx进行配置。
在修改配置文件之前,建议先备份原始的配置文件。
除了nginx.conf之外,nginx还有一些辅助的配置文件和目录。
其中,sites-available目录中存放的是各个网站的配置文件,而sites-enabled目录中存放的是启用的网站配置文件的符号链接。
在配置nginx时,需要注意以下几点:1. 虚拟主机配置:可以为每个网站创建一个独立的虚拟主机配置文件,并使用server指令将其与特定域名或IP地址绑定。
2. 日志配置:可以配置nginx生成的访问日志和错误日志的路径和格式。
3. 反向代理配置:可以使用nginx作为反向代理服务器,将客户端请求转发给后端的应用服务器。
总的来说,nginx是一款功能强大且灵活的Web服务器软件,可以用于构建高性能的网站和应用。
通过合理配置nginx的各项参数和功能,可以满足不同场景下的需求。
windows下nginx安装、配置与使用
windows下nginx安装、配置与使用1)下载地址:从nginx官网下载相应的安装包2)启动解压至c:\nginx,运行nginx.exe(即nginx -c conf\nginx.conf),默认使用80端口,日志见文件夹C:\nginx\logs3)使用http://localhost4)关闭nginx -s stop 或taskkill /F /IM nginx.exe > nul5)常用配置C:\nginx\conf\nginx.conf,使用自己定义的conf文件如my.conf,命令为nginx -c conf\my.conf常用配置如下:Nginx.conf代码http {server {#1.侦听80端口listen 80;location / {# 2. 默认主页目录在nginx安装目录的html子目录。
root html;index index.html index.htm;# 3. 没有索引页时,罗列文件和子目录autoindex on;autoindex_exact_size on;autoindex_localtime on;}# 4.指定虚拟目录location /tshirt {alias D:\programs\Apache2\htdocs\tshirt;index index.html index.htm;}}# 5.虚拟主机配置server {listen 80;server_name ;access_log /logs/access.log;location / {index index.html;root /htdocs;}}}http {server {#1.侦听80端口listen 80;location / {# 2. 默认主页目录在nginx安装目录的html子目录。
root html;index index.html index.htm;# 3. 没有索引页时,罗列文件和子目录autoindex on;autoindex_exact_size on;autoindex_localtime on;}# 4.指定虚拟目录location /tshirt {alias D:\programs\Apache2\htdocs\tshirt;index index.html index.htm;}}# 5.虚拟主机配置server {listen 80;server_name ;access_log /logs/access.log;location / {index index.html;root /htdocs;}}}小提示:运行nginx -V可以查看该Win32平台编译版支持哪些模块。
Nginx 中文官方文档
主要文档Nginx功能概述Nginx功能概述HTTP基础功能:处理静态文件,索引文件以及自动索引;反向代理加速(无缓存),简单的负载均衡和容错;FastCGI,简单的负载均衡和容错;模块化的结构。
过滤器包括gzipping, byte ranges, chunked responses, 以及 SSI-filter 。
在SSI过滤器中,到同一个 proxy 或者 FastCGI 的多个子请求并发处理;SSL 和 TLS SNI 支持;IMAP/POP3 代理服务功能:使用外部 HTTP 认证服务器重定向用户到 IMAP/POP3 后端;使用外部 HTTP 认证服务器认证用户后连接重定向到内部的 SMTP 后端;认证方法:POP3: POP3 USER/PASS, APOP, AUTH LOGIN PLAIN CRAM-MD5;IMAP: IMAP LOGIN;SMTP: AUTH LOGIN PLAIN CRAM-MD5;SSL 支持;在 IMAP 和 POP3 模式下的 STARTTLS 和 STLS 支持;支持的操作系统:FreeBSD 3.x, 4.x, 5.x, 6.x i386; FreeBSD 5.x, 6.x amd64;Linux 2.2, 2.4, 2.6 i386; Linux 2.6 amd64;Solaris 8 i386; Solaris 9 i386 and sun4u; Solaris 10 i386;MacOS X (10.4) PPC;结构与扩展:一个主进程和多个工作进程。
工作进程是单线程的,且不需要特殊授权即可运行;kqueue (FreeBSD 4.1+), epoll (Linux 2.6+), rt signals (Linux 2.2.19+), /dev/poll (Solaris 711/99+), select, 以及 poll 支持;kqueue支持的不同功能包括 EV_CLEAR, EV_DISABLE (临时禁止事件), NOTE_LOWAT, EV_EOF,有效数据的数目,错误代码;sendfile (FreeBSD 3.1+), sendfile (Linux 2.2+), sendfile64 (Linux 2.4.21+), 和 sendfilev (Solaris 8 7/01+) 支持;输入过滤 (FreeBSD 4.1+) 以及 TCP_DEFER_ACCEPT (Linux 2.4+) 支持;10,000 非活动的 HTTP keep-alive 连接仅需要 2.5M 内存。
Nginx安装指南 - CentOS
Nginx安装指南前言:本文所有操作,基于64位的CentOS6.5操作系统进行,使用的软件包括nginx-1.9.9、openssl-1.0.1、pcre-8.37、zlib-1.2.8安装服务支撑组件注意:安装前需要保证服务器上已安装gcc、gcc-c++、openssl-devel、popt-devel组件查询附件是否安装gcc -v如果没有安装,保证服务器可以联网,执行如下命令安装:yum install gccyum install gcc-c++yum -y install openssl-develyum install popt-devel -yNginx服务安装1、选定源码目录1)选定源码目录cd/usr/local2、安装pcre1)上传pcre文件将pcre-8.37.tar.gz上传到/usr/local目录,进入/usr/localcd /usr/local2)解压缩pcretar -xvf pcre-8.37.tar.gz3)进入解压目录cd pcre-8.374)配置pcre./configure如图所示,表示安装成功5)编译make如图所示,表示编译成功6)安装make install如图所示,表示安装成功3、安装openssl1)上传openssl文件将openssl-1.0.1c.tar.gz上传到/usr/local目录,进入/usr/local cd /usr/local2)解压缩openssltar -xvf openssl-1.0.1c.tar.gz3)进入解压目录cd openssl-1.0.1c4)配置openssl./config如图所示,表示安装成功5)编译make如图所示,表示编译成功6)安装make install如图所示,表示安装成功4、安装zlib1)上传zlib文件将zlib-1.2.8.tar.gz上传到/usr/local目录,进入/usr/local cd /usr/local2)解压缩zlibtar -xvf zlib-1.2.8.tar.gz3)进入解压目录cd zlib-1.2.84)配置zlib./configure如图所示,表示安装成功5)编译make如图所示,表示编译成功6)安装make install如图所示,表示安装成功5、安装Nginx1)上传Nginx文件将nginx-1.9.9.tar.gz上传到/usr/local目录,进入/usr/localcd /usr/local2)解压缩Nginxtar -xvf nginx-1.9.9.tar.gz3)进入解压目录cd nginx-1.9.94)配置Nginx./configure --prefix=/home/nginx/nginx--with-http_ssl_module如图所示,表示安装成功5)编译make如图所示,表示编译成功6)安装make install如图所示,表示安装成功6、配置Nginx1)进入nginx安装目录cd/home/nginx/nginx/conf2)设置反向代理和负载均衡i)编辑nginx.conf文件vinginx.confii)设置代理信息,将如下内容替换到nginx.conf文件中worker_processes 4; # 工作进程数,为CPU的核心数或者两倍error_log logs/error.log crit; # debug|info|notice|warn|error|critpid logs/nginx.pid;events {use epoll; #Linux最常用支持大并发的事件触发机制worker_connections 65535;}http {includemime.types;default_type application/octet-stream;log_format main '$remote_addr - $remote_user [$time_local] "$request" ''$status $body_bytes_sent "$http_referer" ''"$http_user_agent" "$http_x_forwarded_for"';access_log logs/access.log main;#设定请求缓冲server_names_hash_bucket_size 256; #增加,原为128client_header_buffer_size 256k; #增加,原为32klarge_client_header_buffers 4 256k; #增加,原为32k#size limitsclient_max_body_size 50m; #允许客户端请求的最大的单个文件字节数client_header_timeout 3m;client_body_timeout 3m;send_timeout 3m;sendfile on;tcp_nopush on;keepalive_timeout 120;tcp_nodelay on;server_tokens off; #不显示nginx版本信息limit_conn_zone $binary_remote_addr zone=perip:10m; #添加limit_zone,限制同一IP并发数#fastcgi_intercept_errors on; #开启错误页面跳转proxy_temp_path /tmp/proxy_temp;proxy_cache_path /tmp/proxy_cache levels=1:2 keys_zone=cache_one:500m inactive=1d max_size=3g;client_body_buffer_size 512k; #原为512kproxy_connect_timeout 50; #代理连接超时proxy_read_timeout 600; #代理发送超时proxy_send_timeout 600; #代理接收超时proxy_buffer_size 128k; #代理缓冲大小,原为32kproxy_buffers 16 256k; #代理缓冲,原为4 64kproxy_busy_buffers_size 512k; #高负荷下缓冲大小,原为128kproxy_temp_file_write_size 1024m; #proxy缓存临时文件的大小原为128k #proxy_ignore_client_abort on; #不允许代理端主动关闭连接proxy_next_upstream error timeout invalid_header http_500 http_503 http_404http_502 http_504;upstreamsmc{#ip_hash;server 10.40.129.160:18080;server 10.40.129.161:18080;}upstreamscc{server 10.40.129.160:28080;server 10.40.129.161:28080;}upstreamsi{server 10.40.129.160:38080;server 10.40.129.161:38080;}upstreamauth{server 10.40.129.160:48080;server 10.40.129.161:48080;}server {listen 18080;server_namelocalhost;location / {proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://smc;}}server {listen 28081;server_namelocalhost;location / {proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://scc;}error_page404 /404.html;error_page 500 502 503 504 /404.html;location = /404.html {root html;}limit_connperip 20000; #同一ip并发数为50,超过会返回503 }server {listen 38081;ssl on;ssl_certificate /home/nginx/nginx/conf/server.crt;ssl_certificate_key /home/nginx/nginx/conf/server_nopwd.key;server_namelocalhost;location / {proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_pass http://si;}#access_log off; #根据自己的需要选择是否启用access日志,注释掉代表启用error_page404 /404.html;error_page 500 502 503 504 /404.html;location = /404.html {root html;}limit_connperip 20000; #同一ip并发数为50,超过会返回503}server {listen 48081;server_namelocalhost;location / {proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_pass http://auth;}error_page404 /404.html;error_page 500 502 503 504 /404.html;location = /404.html {root html;}limit_connperip 20000; #同一ip并发数为50,超过会返回503}}7、配置Nginx开机自启动1)编辑配置文件vi /etc/rc.d/init.d/nginx2)在文件中添加如下内容#!/bin/bash# nginx Startup script for the Nginx HTTP Server# it is v.1.3.0 version.# chkconfig: - 85 15# description: Nginx is a high-performance web and proxy server.# It has a lot of features, but it's not for everyone.# processname: nginx# pidfile: /var/run/nginx.pid# config: /usr/local/nginx/conf/nginx.confnginxd=/usr/local/nginx/sbin/nginxnginx_config=/usr/local/nginx/conf/nginx.confnginx_pid=/usr/local/nginx/logs/nginx.pidRETVAL=0prog="nginx"# Source function library.. /etc/rc.d/init.d/functions# Source networking configuration.. /etc/sysconfig/network# Check that networking is up.[ ${NETWORKING} = "no" ] && exit 0[ -x $nginxd ] || exit 0# Start nginx daemons functions.start() {if [ -e $nginx_pid ];thenecho "nginx already running...."exit 1fiecho -n $"Starting $prog: "daemon $nginxd -c ${nginx_config}RETVAL=$?echo[ $RETVAL = 0 ] && touch /var/lock/subsys/nginxreturn $RETVAL}# Stop nginx daemons functions.stop() {echo -n $"Stopping $prog: "killproc $nginxdRETVAL=$?echo[ $RETVAL = 0 ] && rm -f /var/lock/subsys/nginx /usr/local/nginx/logs/nginx.pid }reload() {echo -n $"Reloading $prog: "#kill -HUP `cat ${nginx_pid}`killproc $nginxd -HUPRETVAL=$?echo}# See how we were called.case "$1" instart)start;;stop)stop;;reload)reload;;restart)stopstart;;status)status $progRETVAL=$?;;*)echo $"Usage: $prog {start|stop|restart|reload|status|help}" exit 1esacexit $RETVAL3)设置开机自启动权限chmod +x /etc/rc.d/init.d/nginxchkconfignginx on8、生成HTTPS证书1)生成HTTPS证书cd /home/nginx/nginx/confopensslgenrsa -des3 -out server.key 1024opensslreq -new -key server.key -out server.csropensslrsa -in server.key -out server_nopwd.keyopenssl x509 -req -days 365 -in server.csr -signkeyserver_nopwd.key -out server.crt 注意:生成过程需要输入密码,请根据实际情况输入9、启动Nginx1)进入Nginx服务cd/home/nginx/nginx/sbin2)启动Nginx服务./nginx3)验证启动结果ps -ef|grepnginx如图,表示启动成功10、安装Keepalived服务1)上传Keepalived文件将keepalived-1.2.7.tar.gz上传到/usr/local目录,进入/usr/local cd /usr/local2)解压缩Keepalivedtar -xvfkeepalived-1.2.7.tar.gz3)进入解压目录cdkeepalived-1.2.74)配置Keepalived./configure如图所示,表示安装成功5)编译make如图所示,表示编译成功6)安装make install如图所示,表示安装成功11、安装Keepalived服务1)配置Keepalived启动方式cp /usr/local/etc/rc.d/init.d/keepalived /etc/rc.d/init.d/cp /usr/local/etc/sysconfig/keepalived /etc/sysconfigmkdir /etc/keepalivedcp /usr/local/etc/keepalived/keepalived.conf /etc/keepalived/cp /usr/local/sbin/keepalived /usr/sbinchkconfigkeepalived on2)修改Keepalived配置文件vi /etc/keepalived/keepalived.conf将文件内容修改为如下内容! Configuration File for keepalivedvrrp_script chk_http_port {script "/etc/keepalived/nginx_pid.sh" # 检查nginx状态的脚本interval 2weight 3}vrrp_instance VI_1 {state MASTER #备服务器设置为BACKUPinterface eth0 #eth0 是否存在,请根据实际安装环境检测,以#网卡实际信息为准,如eth1。
nginx入门菜鸟教程
nginx入门菜鸟教程Nginx是一款高性能的开源Web服务器和反向代理服务器,被广泛应用于构建高效、可靠的网络应用。
本文将为初学者介绍Nginx的基本概念、安装和配置,以及常见的应用场景和优化技巧。
一、Nginx简介Nginx(发音为“Engine X”)是由Igor Sysoev于2004年开发的一款高性能的Web服务器和反向代理服务器。
其设计目标是处理大量并发连接,具有内存占用低、稳定性高、易于扩展等特点。
目前,Nginx已成为广泛应用的Web服务器,在全球排名第二二、Nginx的安装和配置1. 安装Nginx首先,我们要在服务器上安装Nginx。
具体安装方式根据操作系统的不同略有差异。
以Ubuntu为例,可以使用以下命令进行安装:```sudo apt-get updatesudo apt-get install nginx```2.基本配置- 服务器监听端口:默认情况下,Nginx监听80端口。
可以通过修改`listen`指令来改变监听端口。
- 虚拟主机配置:Nginx支持虚拟主机,可以在配置文件中添加多个`server`块,代表不同的虚拟主机。
每个`server`块可以配置不同的域名和应用程序。
- 反向代理配置:Nginx还可以作为反向代理服务器,将客户端的请求转发给后端的应用程序。
可以通过在配置文件中添加`location`指令来配置反向代理。
3.配置文件的重新加载和重启配置Nginx后,需要重新加载配置文件使得修改生效。
可以使用以下命令进行重新加载:```sudo nginx -s reload```需要注意的是,如果修改了配置文件中的监听端口,则需要重启Nginx使得修改生效:```sudo service nginx restart```三、Nginx的应用场景1.静态文件服务器Nginx的高性能和低内存占用使得它非常适合作为静态文件服务器。
可以将静态文件(如图片、CSS和JavaScript文件)放在Nginx的根目录下,Nginx会快速、高效地将这些文件传输给客户端。
Nginx中文手册
Nginx中⽂⼿册Nginx中⽂⼿册⼀、 Nginx 基础知识⼆、 Nginx 安装及调试三、 Nginx Rewrite四、 Nginx Redirect五、 Nginx ⽬录⾃动加斜线:六、 Nginx Location七、 Nginx expires⼋、 Nginx 防盗链九、 Nginx 访问控制⼗、 Nginx⽇志处理⼗⼀、 Nginx Cache⼗⼆、 Nginx 负载均衡⼗三、 Nginx简单优化⼗四、如何构建⾼性能的LEMP环境⼗五、 Nginx服务监控⼗六、常见问题与错误处理.⼗七、相关资源下载【前⾔】:编写此技术指南在于推⼴普及NGINX在国内的使⽤,更⽅便的帮助⼤家了解和掌握NGINX的⼀些使⽤技巧。
本指南很多技巧来⾃于⽹络和⼯作中或⽹络上朋友们问我的问题.在此对⽹络上愿意分享的朋友们表⽰感谢和致意!欢迎⼤家和我⼀起丰富本技术指南提出更好的建议!请朋友们关注: 技术分享社区! 互想学习共同进步!⼀、 Nginx 基础知识1、简介Nginx ("engine x") 是⼀个⾼性能的 HTTP 和反向代理服务器,也是⼀个 IMAP/POP3/SMTP代理服务器。
Nginx 是由 Igor Sysoev 为俄罗斯访问量第⼆的 Rambler.ru 站点开发的,它已经在该站点运⾏超过两年半了。
Igor 将源代码以类BSD许可证的形式发布。
尽管还是测试版,但是,Nginx 已经因为它的稳定性、丰富的功能集、⽰例配置⽂件和低系统资源的消耗⽽闻名了。
更多的请见官⽅wiki:2、 Nginx的优点nginx做为HTTP服务器,有以下⼏项基本特性:1) 处理静态⽂件,索引⽂件以及⾃动索引;打开⽂件描述符缓冲.2) ⽆缓存的反向代理加速,简单的负载均衡和容错.3) FastCGI,简单的负载均衡和容错.4) 模块化的结构。
包括gzipping, byte ranges, chunked responses, 以及 SSI-filter等filter。
Linux下nginx编译安装教程和编译参数详解
Linux下nginx编译安装教程和编译参数详解1.安装pcre为了⽀持rewrite功能,我们需要安装pcre复制代码代码如下:# yum install pcre* //如过你已经装了,请跳过这⼀步2.安装openssl需要ssl的⽀持,如果不需要ssl⽀持,请跳过这⼀步复制代码代码如下:# yum install openssl*3.gzip 类库安装复制代码代码如下:yum install zlib zlib-devel4.安装wget下载nginx使⽤,如果已经安装,跳过这⼀步复制代码代码如下:# yum install wget1.下载复制代码代码如下:wget /download/nginx-1.7.0.tar.gz2.解压复制代码代码如下:tar -zxvf nginx-1.7.0.tar.gz3.编译和安装执⾏如下命令:复制代码代码如下:# cd nginx-1.7.0# ./configure --prefix=/usr/local/nginx-1.7.0 \--with-http_ssl_module --with-http_spdy_module \--with-http_stub_status_module --with-pcre–with-http_stub_status_module:⽀持nginx状态查询–with-http_ssl_module:⽀持https–with-http_spdy_module:⽀持google的spdy,想了解请百度spdy,这个必须有ssl的⽀持–with-pcre:为了⽀持rewrite重写功能,必须制定pcre最后输出如下内容,表⽰configure OK了。
复制代码代码如下:checking for zlib library ... foundcreating objs/MakefileConfiguration summary+ using system PCRE library+ using system OpenSSL library+ md5: using OpenSSL library+ sha1: using OpenSSL library+ using system zlib librarynginx path prefix: "/usr/local/nginx-1.7.0"nginx binary file: "/usr/local/nginx-1.7.0/sbin/nginx"nginx configuration prefix: "/usr/local/nginx-1.7.0/conf"nginx configuration file: "/usr/local/nginx-1.7.0/conf/nginx.conf"nginx pid file: "/usr/local/nginx-1.7.0/logs/nginx.pid"nginx error log file: "/usr/local/nginx-1.7.0/logs/error.log"nginx http access log file: "/usr/local/nginx-1.7.0/logs/access.log"nginx http client request body temporary files: "client_body_temp"nginx http proxy temporary files: "proxy_temp"nginx http fastcgi temporary files: "fastcgi_temp"nginx http uwsgi temporary files: "uwsgi_temp"nginx http scgi temporary files: "scgi_temp"# make //确定你的服务器有安装make,如果没有安装请执⾏yum install make# make install启动:直接执⾏以下命令,nginx就启动了,不需要改任何配置⽂件,nginx配置多域名虚拟主机请参考后续⽂章.复制代码代码如下:/usr/local/nginx-1.7.0/sbin/nginx试试访问:直接使⽤curl命令来读取web信息复制代码代码如下:[root@ns conf]# curl -s http://localhost | grep .关闭:复制代码代码如下:/usr/local/nginx-1.7.0/sbin/nginx -s stop重置:当你有修改配置⽂件的时候,只需要reload以下即可复制代码代码如下:/usr/local/nginx-1.7.0/sbin/nginx -s reload整个nginx的安装就到这⾥结束了。
archlinux安装NginX
nginx 现在应该启动了. 默认的主页文件是 (例如.页面在 http://127.0.0.1) : /srv/http/nginx/index.html
(nginx 并不创建一个默认的 index.html,必须自己手动创建) 创建好/srv/http/nginx/index.html 后,可以用这个 URL http://127.0.0.1 来测试 nginx 是否正常运行. 如果想开机自启动,把"nginx"加入文件/etc/rc.conf 中的 DAEMONS 行。
# spawn-fcgi -a 127.0.0.1 -p 9000 -f /usr/bin/php-cgi
或者可以创建一些组和用户来启动 php-cgi. 例如:
$ sudo groupadd www $ sudo useradd -g www www $ sudo chmod +w /srv/www/nginx/html $ sudo chown -R www:www /srv/www/nginx/html $ sudo spawn-fcgi -a 127.0.0.1 -p 9000 -u www -g www -f /usr/bin/php-cgi
windows下Nginx和PHP的安装与配置
一.软件准备1.Nginx:/download/nginx-1.0.4.zip2.php:/download/php-5.2.17-Win32-VC6-x86.zip这里需要注意一下,如果使用Apache或Nginx运行php,要选择VC6的线程安全版本,使用IIS选择VC9版本。
所以这里使用前者。
3.RunHiddenConsole:/attachments/660/RunHiddenConsole.zip 用于隐藏命令行窗口。
二.安装php直接解压php-5.2.17-Win32-VC6-x86.zip文件到php的安装目录PHP_PATH,然后在PATH中添加PHP的安装路径PHP_PATH和PHP_PATH/ext。
将PHP_PATH下的php.ini-dist重命名为php.ini,这个就是PHP的配置文件。
然后修改这个文件。
1.将register_globals = Off修改为On,这个选项是为了直接打开全局变量的,例如$POST["varname"]可以直接通过$varname访问。
2.添加php加载的模块。
通过添加extensions=xxx.dll来实现,这样php就可以自动加载相应的模块。
还需要指定需要加载的模块的路径,默认大部分模块的dll文件在PHP_PATH/ext下,所以把这个路径添加到PA TH中即可,前文已经完成这个操作。
三.安装Nginx直接解压nginx-1.0.4.zip到安装路径NGINX_PATH,启动ngix:>cd NGINX_PA TH>nginxNginx的选项:nginx -s signal 向Nginx主进程发送信号,signal取值:stop,quit,reopen,reloadnginx -c filename 用指定的配置文件来初始化nginx,默认是NGINX_PATH/conf/nginx.conf四.Nginx和php配置1.在WIndows环境下,Nginx可以通过FaseCGI守护进程与php 进行交互,这个守护进程是以php-cgi.exe的形式存在的。
Nginx实战篇 安装部署与配置全解析
Nginx实战篇安装部署与配置全解析目录1 写在正文之前 (3)2 部署步骤 (3)2.1 下载介质 (3)2.2 编译部署介质 (4)2.2.1 部署zlib库 (4)2.2.2 部署pcre库 (4)2.2.3 部署nginx (4)2.2.4 启动和停止nginx (5)2.3 配置nginx (5)2.3.1 配置gzip压缩 (6)2.3.2 高性能配置 (6)2.3.3 配置nginx状态监控 (7)2.3.4 反向代理实现动静结合(NgInx + Tomcat / WebLogic / WebSphere ) (7)2.3.5 配置虚拟主机 (8)2.3.6 配置静态文件超时时间 (9)2.3.7 配置日志格式与按天轮换 (9)2.4 其它配置 (10)2.4.1 禁止出错时泄露服务器的版本 (10)2.4.2 限制客户端POST提交的数据大小 (10)2.4.3 静态目录root和alias的区别 (11)2.4.4 4.限制并发数和下载速率 (11)2.4.5 指定nginx提供服务的用户: (11)2.4.6 指定错误页 (11)2.5 高级配置 (11)2.5.1 利用Nginx实现开源负载均衡的分发 (11)2.5.2 利用Nginx实现静态文件的权限控制 (12)1写在正文之前最近质保在计划做Portal的性能测试,考虑到在国家统计局项目前期规划到2000多并发的PV情况下面,静态文件的压力会超过10000。
根据对Nginx的介绍,Nginx的性能和Apache相比,会有100%的提升。
原因:得益于Nginx使用了最新的epoll(Linux 2.6内核)和kqueue(freebsd)网络I/O模型,而Apache则使用的是传统的select模型。
目前Linux下能够承受高并发访问的Squid、Memcached都采用的是epoll网络I/O模型。
所以计划对主流的Web Server进行对比性能测试,特引入Nginx进行配置,在测试环境中现场实战了一次,特将过程记录总结如下。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Nginx安装手册
1nginx安装环境
nginx是C语言开发,建议在linux上运行,本教程使用Centos6.5作为安装环境。
⏹gcc
安装nginx需要先将官网下载的源码进行编译,编译依赖gcc环境,如果没有gcc环境,需要安装gcc:yum install gcc-c++
⏹PCRE
PCRE(Perl Compatible Regular Expressions)是一个Perl库,包括perl 兼容的正则表达式库。
nginx的http模块使用pcre来解析正则表达式,所以需要在linux上安装pcre库。
yum install -y pcre pcre-devel
注:pcre-devel是使用pcre开发的一个二次开发库。
nginx也需要此库。
⏹zlib
zlib库提供了很多种压缩和解压缩的方式,nginx使用zlib对http包的内容进行gzip,所以需要在linux上安装zlib库。
yum install -y zlib zlib-devel
⏹openssl
OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用。
nginx不仅支持http协议,还支持https(即在ssl协议上传输http),所以需要在linux 安装openssl库。
yum install -y openssl openssl-devel
2编译安装
将nginx-1.8.0.tar.gz拷贝至linux服务器。
解压:
tar -zxvf nginx-1.8.0.tar.gz
cd nginx-1.8.0
1、configure
./configure --help查询详细参数(参考本教程附录部分:nginx编译参数)
参数设置如下:
./configure \
--prefix=/usr/local/nginx \
--pid-path=/var/run/nginx/nginx.pid \
--lock-path=/var/lock/nginx.lock \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--with-http_gzip_static_module \
--http-client-body-temp-path=/var/temp/nginx/client \
--http-proxy-temp-path=/var/temp/nginx/proxy \
--http-fastcgi-temp-path=/var/temp/nginx/fastcgi \
--http-uwsgi-temp-path=/var/temp/nginx/uwsgi \
--http-scgi-temp-path=/var/temp/nginx/scgi
注意:上边将临时文件目录指定为/var/temp/nginx,需要在/var下创建temp及nginx目录[*******************.0]#mkdir/var/temp/nginx-p
2、编译安装
make
make install
安装成功查看安装目录:
3启动nginx
cd /usr/local/nginx/sbin/
./nginx
查询nginx进程:
15098是nginx主进程的进程id,15099是nginx工作进程的进程id
注意:执行./nginx启动nginx,这里可以-c指定加载的nginx配置文件,如下:
./nginx -c /usr/local/nginx/conf/nginx.conf
如果不指定-c,nginx在启动时默认加载conf/nginx.conf文件,此文件的地址也可以在编译安装nginx时指定./configure的参数(--conf-path= 指向配置文件(nginx.conf))
4停止nginx
方式1,快速停止:
cd /usr/local/nginx/sbin
./nginx -s stop
此方式相当于先查出nginx进程id再使用kill命令强制杀掉进程。
方式2,完整停止(建议使用):
cd /usr/local/nginx/sbin
./nginx -s quit
此方式停止步骤是待nginx进程处理任务完毕进行停止。
5重启nginx
方式1,先停止再启动(建议使用):
对nginx进行重启相当于先停止nginx再启动nginx,即先执行停止命令再执行启动命令。
如下:
./nginx -s quit
./nginx
方式2,重新加载配置文件:
当nginx的配置文件nginx.conf修改后,要想让配置生效需要重启nginx,使用-s reload不用先停止nginx再启动nginx即可将配置信息在nginx中生效,如下:
./nginx -s reload
6测试
nginx安装成功,启动nginx,即可访问虚拟机上的nginx:
到这说明nginx上安装成功。
若无法访问,
可能是Linux的防火墙的问题:
1.修改文件
vim /etc/sysconfig/iptables
2.关闭防火墙
sevice iptables stop
3.或CentOS7默认使用的是firewall作为防火墙,这里改为iptables防火墙1、关闭firewall:
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
2、安装iptables防火墙
yum install iptables-services #安装
3、修改文件配置允许80端口
vi /etc/sysconfig/iptables #编辑防火墙配置文件
按i进入文本编辑在原文档中找到
-A INPUT -m state –state NEW -m tcp -p tcp –dport 22 -j ACCEPT
在该行下面添加
-A INPUT -m state –state NEW -m tcp -p tcp –dport 80 -j ACCEPT
:wq! #保存退出
systemctl restart iptables.service #最后重启防火墙使配置生效
systemctl enable iptables.service #设置防火墙开机启动
7开机自启动nginx 7.1编写shell脚本
这里使用的是编写shell脚本的方式来处理vi /etc/init.d/nginx (输入下面的代码)
:wq 保存并退出
7.2设置文件的访问权限
chmod a+x /etc/init.d/nginx (a+x ==> all user can execute 所有用户可执行)
这样在控制台就很容易的操作nginx了:查看Nginx当前状态、启动Nginx、停止Nginx、重启Nginx…
如果修改了nginx的配置文件nginx.conf,也可以使用上面的命令重新加载新的配置文件并运行,可以将此命令加入到rc.local文件中,这样开机的时候nginx就默认启动了
7.3加入到rc.local文件中
vi /etc/rc.local
加入一行/etc/init.d/nginx start 保存并退出,下次重启会生效。