陈奇网络工作室

Nginx目录结构和配置文件详细信息

建设工作站服务器

Nginx的安装

具体来说,要安装nginx,请转到nginx的部署步骤

安装依赖关系

安装pcre相关软件

[ root @ Ubuntu~~ ] # yum install-ypcrepcre-devel//对于外部网,请使用此安装方法

[root@ubuntu ~]# rpm -ivh pcre //对于内部网,请使用此安装方法

[ root @ Ubuntu~~ ] # rpm-ivhpcre-devel//内部网时使用此安装方法

#编译并安装pcre相关软件(注意编译并安装软件包需要开发工具的支持;安装nginx需要make、gcc和c的支持)。

#下载地址: https://ftp.pcre.org/pub/pcre///根据情况选择版本下载

[ root @ Ubuntu~] # wget https://FTP.pcre.org/pub/pcre/pcre-8.00.tar.gz//下载pcre软件包

[ root @ Ubuntu~~ ] # tarzxfpcre-7.80.tar.gz//解压缩包

[root@ubuntu ~]# cd pcre-7.80 //访问相关目录

[root@ubuntu ~]# ./configure //配置

[ root @ Ubuntu~] # make make install//编译并部署

安装openssl相关软件

[ root @ Ubuntu~~ ] # yum install-yopensslopenssl-devel//对于外部网,请使用此安装方法

[ root @ Ubuntu~~ ] # rpm-ivhopenssl//内部网时使用此安装方法

[ root @ Ubuntu~~ ] # rpm-ivhopenssl-devel//内部网时使用此安装方法

#编译安装与pcre几乎一致,请参见上一节

安装Nginx

nginx下载地址: nginx官方网站地址,下载nginx时需要注意版本问题。 nginx分为稳定版、开发版和旧版本的稳定版三个版本

检查有无安装

[ root @ Ubuntu~~ ] # rpm-QA pcre-devel pcre

pcre-devel-7.8-6.el6.x86 _ 64 # pcre的devel字符串软件包已安装

pcre-7.8-6.el6.x86_64 #pcre软件包已安装

[ root @ Ubuntu~~ ] # rpm-QA OpenSSL-devel OpenSSL

OpenSSL-1.0.1 e-30.el6.x86 _ 64 # OpenSSL软件包已安装

OpenSSL-Devel-1.1.13-30.el6.x86 _ 64 # OpenSSL的devel字符串软件包已安装

安装nginx

[ root @ Ubuntu:/opt ] # wget-q http://nginx.org/download/nginx-1.17.6.tar.gz//下载软件包

[ root @ Ubuntu:/opt ] # lsnginx-1.17.6.tar.gz//检查下载是否成功

- rw-r-- r--1root root 1037527 nov 1914:25 nginx-1.17.6.tar.gz

[ root @ Ubuntu:/opt ] #创建useradd nginx-s/sbin/nolog in-m//nginx运行用户

[ root @ Ubuntu:/opt ] # tarxfnginx-1.17.6.tar.gz//解压缩nginx软件包

进入[ root @ Ubuntu:/opt ] # cdnginx-1.17.6//解压缩目录

[ root @ Ubuntu nginx-1.17.6 ] #./configure-- user=nginx-- group=nginx-- prefix=/usr/local/nginx--

#具体配置模块说明请转至nginx编译配置模块大全

[ root @ Ubuntu nginx-1.17.6 ] # make///编译nginx软件包

[ root @ Ubuntu nginx-1.17.6 ] # make install///部署nginx软件包

启动nginx检查安装是否成功

检查nginx语法

root @ Ubuntu:~/usr/local/nginx/sbin/nginx-t//nginx检查配置文件是否正确

nginx:theconfigurationfile/usr/local/nginx/conf/nginx.confsyntaxisok//表示语法正确

nginx:configuration file/usr/local/nginx/conf/nginx.conftestissuccessful//test成功

启动nginx

root @ Ubuntu:~/usr/local/nginx/sbin/nginx//直接启动即可

有关具体启动方法,请参阅引入nginx

检查Nginx端口是否启动

root@ubuntu:~# lsof -i :80 //查看相关端口

commandpiduserfdtypedevicesize/off nodename

nginx 23658 root 6u ipv 4982580 t0TCP *:http ( listen ) () ) ) ) ) )。

nginx 23659 nobody 6u ipv 4982580 t0TCP *:http ( listen ) ) ) ) ) ) ) ) ) )0) 0

root @ Ubuntu:~ # netstat-anpl|grep nginx//nginx查看相关端口

TCP 00.0.0.0:80.0.0:* listen 23658/nginx:master

UNIX3[ ] stream connected 9831423658/nginx:master

UNIX3[ ] stream connected 9831523658/nginx:master

root@Ubuntu:~~#

访问nginx

root @ Ubuntu:~ # curl 127.0.0.1//访问nginx

! DOCTYPE html

html

头儿

titleWelcome to nginx! /title

斯泰尔斯

body {

width: 35em;

边距: 0自动;

font-family: Tahoma,Verdana,Arial,sans-serif;

}

/style

/head

身体

H2欢迎使用! /h2

pIf you see this page,thenginxwebserverissuccessfullyinstalledand

working.furtherconfigurationisrequired./p

poronlinedocumentationandsupportpleasereferto

a href=http://nginx.org/nginx.org/a.br /

Commercial support is available at

a href=http://nginx.com/nginx.com/a./p

pemThank you for using nginx./em/p

/body

/html

nginx目录结构说明

root @ Ubuntu:~~tree/usr/local/nginx /

/usr/local/nginx/

client_body_temp

conf #存储一系列配置文件的目录

()—fastcgi.conf # fastcgi程序相关配置文件

()—备份fastcgi.conf.default # fastcgi程序相关配置文件

()—fastcgi _ params # fastcgi程序参数文件

()备份FastCGI_Params.default#FastCGI程序参数文件

()koi-utf #编码映射文件

()koi-win #编码映射文件

()mime.types #媒体类型控制文件

()—mime.types.default #介质类型控制文件备份

()nginx.conf #主配置文件

()—nginx.conf.default #备份主配置文件

(()--scgi _ params # scgi程序相关配置文件

()—备份scgi _ params.default # scgi程序相关的配置文件

(()--uw SGI _ params # uw SGI程序相关配置文件

()—uw SGI _ params.default # uw SGI程序相关配置文件备份

()双赢#编码映射文件

fastcgi _ temp #保存fastcgi程序的临时文件

将web文档保存到html #

() ) 50x.html #错误页号显示web文件

()--index.html #页面的首页文件

保存logs#nginx的日志文件

(()--access.log #默认访问日志

() ) error.log #错误日志

() nginx.pid #nginx pid文件

proxy _ temp #代理相关的临时文件

保管sbin #启动程序

() nginx #nginx启动程序

存储scgi_temp#scgi程序的临时文件

( uwsgi_temp #存储uwsgi程序的临时文件

9目录,21文件

主配置文件说明

#user nobody; 定义运行nginx程序的用户

工作器_进程1; 指定nginx进程数

#错误日志定义类型为调试、info、notice、warn、error和crit

#error_log logs/error.log; //指定错误日志目录

#error_log logs/error.log notice; 指定notice类型的错误日志目录

#error_log logs/error.log info; //指定全局错误日志目录

#worker_rlimit_nofile 1024; //指定但进程打开的最大文件数

#pid logs/nginx.pid; //指定工艺文件的目录

事件{ #事件块

#事件模型为kqueue、rtsig、epoll、/dev/poll、select、poll

use epoll; #指定参考事件模型

工作器_连接器1024; #指定单个进程的最大链接数

}

http { #http块

include mime.types; 指定nginx支持的介质类型

efault _ type application/octet-stream; #指定默认介质类型

#指定日志格式

#log_formatmain\\\& #039; $ remote _ addr-$ remote _ user [ $ time _ local ] $ request _ & amp; #039;

#\\\& quot; $ status $ body _ bytes _ sent $ http _ referer\& amp; quot;

#\\& quot; $ http _ user _ agent $ http _ x _ forwarded _ for\& amp; quot;

#access_log logs/access.log main; 指定nginx的访问日志目录

发送文件on; #打开高效传输模式

#tcp_nopush on; //防止网络阻塞

#keepalive_timeout 0; //链接超时事件

keepalive_timeout 65;

#gzip on; 打开gzip压缩输出

#gzip_min_length 1k; //最小压缩文件大小

#gzip_buffers 4 16k; //压缩缓冲器

#gzip_http_version 1.0; //压缩版本(默认1.1,如果前端是squid2.5,请使用1.0 ) ) ) )。

#gzip_comp_level 2; //压缩级别

# gzip _ types text/x-JavaScript text/CSS APP/XML; //压缩类型缺省情况下已经包含text/html,因此不需要再写以下内容。 写也没问题,但是有广域网。

#gzip_vary on; //增加响应标头“Vary: Accept-Encoding”

# limit _ zone crawler $ binary _ remote _ addr 10m; //打开有限的IP连接数时使用

#FastCGI程序相关参数

设置FastCGI程序相关参数是为了提高网站的性能。 减少资源消耗,提高访问速度。

#fastcgi_connect_timeout 300; //到后端fastcgi的连接超时时间

#fastcgi_send_timeout 300;//对fastcgi的请求超时时间(此指定值为两次握手后向fastcgi发送请求的超时时间) ) )。

#fastcgi_read_timeout 300; 接收fastcgi响应的超时时间也同样在两次握手后

#fastcgi_buffer_size 64k; 读取fastcgi响应的第一部分需要多少缓冲区? 该值表示使用64kb的一个缓冲区读取响应的第一部分(响应报头),并可以设置为fastcgi_buffers选项的缓冲区大小

#fastcgi_buffers 4 64k; 指定缓冲fastcgi响应请求所需的本地缓冲区数量和大小,并且假设php或java脚本生成的页大小为256kb,则为缓存分配4个64kb的缓冲区。 如果页面大于256kb,则大于256kb的部分将缓存在fastcgi_temp指定的路径中。 这不是个好办法。 内存数据的处理速度比硬盘驱动器快,通常需要指定站点php/java脚本生成的页面大小的中间值。 如果站点的大多数脚本生成的页面大小为256kb,则可以将值设置为16,16k,4,644 kb

#fastcgi_busy_buffers_size 128k; //默认值是fastcgi_buffer的两倍

# fastcgi _ temp _ file _ write _ size 128 k; //写入缓存文件的数据块大小的默认值为fastcgi_buffer的两倍

#fastcgi_cache TEST; 通过打开fastcgi缓存并分配TEST名称,降低cpu负载并避免502错误。

#响应代码缓存时间,200和302响应缓存为1小时、301天、其他1分钟

#fastcgi_cache_valid 200 302 1h;

#fastcgi_cache_valid 301 1d;

#fastcgi_cache_valid any 1m;

#主机配置

服务器{ #服务器块,每个块表示虚拟主机

监听器80 #监听端口

server_name localhost; #配置此主机的域名

#charset koi8-r; //配置字符编码

# access _ loglogs/host.access.log main; //配置默认访问日志目录

位置/{ # location块通过指定模式与客户端请求的URI相匹配

root html; #配置站点根目录

index index.html index.htm; #默认文件

}

#error_page 404 /404.html; 发生//404错误时,可以显示预定义的uri

# redirectservererrorpagestothestaticpage/50x.html//将服务器错误页面重定向至静态页/50x.html

#

error _ page 500502503504/50x.html; #如果发生错误,可以查看预定义的uri

#反向代理

#location/{

#proxy_pass http://127.0.0.1:88; //指定代理地址

#proxy_redirect off; proxy_redirect可以重置HTTP标头中的location或refresh字段。 如果上游服务器返回重定向或刷新请求,如HTTP响应代码为301或302,则会发生这种情况。 可选参数default、off、redirect replacement]

#后端Web服务器可以通过X-Forwarded-For获取用户的真实IP

# proxy _ set _ headerx-real-IP $ remote _ addr;

# proxy _ set _ headerx-forwarded-for $ proxy _ add _ x _ forwarded _ for;

#proxy_set_header Host $host; //允许向后端服务器重新定义或添加请求标头

#client_max_body_size 10m; //客户端可以请求的单个文件的最大字节数

#client_body_buffer_size 128k; //缓冲代理缓冲客户端请求的最大字节数

#proxy_connect_timeout 90; //nginx和后端服务器连接超时时间(代理连接超时) ) )。

#proxy_send_timeout 90; //后端服务器的数据回复时间(代理发送超时) ) )。

#proxy_read_timeout 90; //连接成功后,后端服务器的响应时间(代理接收超时) ) ) ) ) ) )。

#proxy_buffer_size 4k; //设置代理服务器( nginx )存储用户标头信息的缓冲区大小

#proxy_buffers 4 32k; //proxy_buffers缓冲区,网页平均设置为32k以下

#proxy_busy_buffers_size 64k; ///高负载下的缓冲区大小( proxy_buffers*2) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )。

#proxy_temp_file_write_size 64k; //设置缓存文件夹的大小,使其大于此值时,将从upstream服务器传递

106

() )是

#设置js和css缓存时间

#location~~.*\\& quot; ( js|CSS )? $

#{

#expires 2h;

() )是

#设置图像缓存事件

#location~~.*\\& quot; ( gif|jpg|JPEG|png ) $

#{

#expires 5d;

() )是

监视Nginx状态的地址

#location /NginxStatus {

#stub_status on; //打开监视器状态

#access_log on; //打开默认访问监视

#auth_basic NginxStatus; //设置验证模块

# auth _ basic _ user _ fileconf/htpasswd; //htpasswd文件的内容可以使用apache提供的htpasswd工具生成。

() )是

#动静分离配置

#所有jsp页面都由tomcat处理

#location~~.(JSP|jspx|do )? $ {

#proxy_set_header Host $host;

# proxy _ set _ headerx-real-IP $ remote _ addr;

# proxy _ set _ headerx-forwarded-for $ proxy _ add _ x _ forwarded _ for;

#proxy_pass http://127.0.0.1:8080;

() )是

#所有静态文件都直接从nginx读取,而不通过tomcat

# location~~.*.( htm|html|gif|jpg|JPEG|png|BMP|swf|rar|zip|txt|flv|mid|doc|PPT|pdf|xdf )

#{

#expires 10d;

() )是

#location~~.*.(js|CSS? ${

#expires 2h;

() )是

}

详情请访问云服务器、域名注册、虚拟主机的问题,请访问西部数码代理商官方网站: www.chenqinet.cn

相关推荐

后台-系统设置-扩展变量-手机广告位-内容页底部广告位3