网站服务器
HTTP响应状态码
HTTP服务器
HTTP开启SSL及鉴权
HTTP虚拟主机服务
NGINX服务器
NGINX开启SSL及鉴权
NGINX虚拟主机服务
NGINX代理与缓存功能
NGINX 重写规则
重新编译NGINX
NGINX安全加固
正向代理(HTTP)
Nginx服务器配置
SQUID缓存服务器
SQUID正向代理
SQUID透明代理
SQUID问题
本文档使用MrDoc发布
返回首页
-
+
NGINX服务器
2020年5月9日 16:15
admin
#安装 >##方式一:YUM源安装 yum -y install nginx >##方式二:源码安装 >####安装依赖: yum -y install gcc pcre pcre-devel openssl openssl-devel zlib-devel gd gd-devel perl perl-ExtUtils-Embed >####一.下载软件包 >####网址:http://nginx.org/en/download.html wget -c http://nginx.org/download/nginx-1.18.0.tar.gz >####二.解压安装 Shell > mkdir -p /usr/src/ Shell > tar -zxvf nginx-1.18.0.tar.gz Shell > cp -r nginx-1.18.0 /usr/src/nginx Shell > cd /usr/src/nginx Shell > ./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-http_addition_module --with-http_dav_module --with-http_flv_module --with-http_gzip_static_module --with-http_perl_module --with-mail --with-mail_ssl_module --add-module=ngx_http_proxy_connect_module Shell > make && make install >####nginx安装的选项说明: |参数|说明| |--|--| |--user=www | worker进程运行用户 |--group=www | worker进程运行的组 |--prefix=/usr/local/nginx | Nginx安装的根路径,所有其他的路径都要依赖于改选项 |--conf-path=/etc/nginx/nginx.conf | 如果在命令行没有指定配置文件,那么将会通过这里指定的路径,Nginx将会去那里查找它的配置文件 |--error-log-path=/var/log/nginx/nginx_error.log | 指定错误文件的路径,Nginx将会往其中写入错误日志文件,除非有其他配置 |--http-log-path=/var/log/nginx/nginx_access.log|http访问日志的默认路径 |--with-http_ssl_module |启用 ngx_http_ssl_module 支持(使支持 https 请求,需已安装openssl) |--with-http_realip_modul|启用 ngx_http_realip_module 支持(这个模块允许从请求标头更改客户端的 IP 地址值,默认为关) |--with-http_addition_module |启用 ngx_http_addition_module 支持(作为一个输出过滤器,支持不完全缓冲,分部分响应请求) |--with-http_dav_module |启用ngx_http_dav_module支持(增加PUT,DELETE,MKCOL:创建集合,COPY 和 MOVE 方法)默认情况下为关闭,需编译开启 |--with-http_flv_module |启用 ngx_http_flv_module 支持(提供寻求内存使用基于时间的偏移量文件) |--with-http_gzip_static_module |启用 ngx_http_gzip_static_module 支持(在线实时压缩输出数据流) |--with-http_stub_status_module |启用ngx_http_stub_status_module支持(获取nginx自上次启动以来的工作状态) |--with-http_perl_module | Nginx配置能够扩展使用Perl代码。这个选项启用这个模块(然而使用这个模块会降低性能) |--with-mail | 该选项用于启用mail模块,该模块默认没有被激活 |--with-mail_ssl_module | 为了代理任何一种类型的使用SSL/TLS的mail,激活该模块 --- #配置 >##配置文件: >####yum源安装配置文件:/etc/nginx/nginx.conf >####源码安装配置文件:<安装目录>/conf/nginx.conf --- >![](/media//202005/2020-05-09171541348279.png) >#####main(全局设置)、server(主机设置)、upstream(负载均衡服务器设置)和 location(URL匹配特定位置的设置)。 main块设置的指令将影响其他所有设置; server块的指令主要用于指定主机和端口; upstream指令主要用于负载均衡,设置一系列的后端服务器; location块用于匹配网页位置。 #这四者之间的关系式:server继承main,location继承server,upstream既不会继承其他设置也不会被继承。 --- # vim /usr/local/nginx/conf/nginx.conf ------------------------------------------------------------ #user nobody nobody; #设置用户和用户组 worker_processes 1; #指定了Nginx要开启的进程数。每个Nginx进程平均耗费10M~12M内存。建议指定和CPU的数量一致即可。 #error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; #用来定义全局错误日志文件。日志输出级别有debug、info、notice、warn、error、crit可供选择,其中,debug输出日志最为最详细,而crit输出日志最少 #pid logs/nginx.pid; #用来指定进程pid的存储文件位置 events { worker_connections 1024; } #events事件指令是设定Nginx的工作模式及连接数上限 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; #开启高效文件传输模式 tcp_nopush on; #开启后服务器的响应头部信息产生独立的数据包发送,即一个响应头信息一个包 keepalive_timeout 65; #保持连接的超时时间 gzip on; #是否采用压缩功能,将页面压缩后传输更节省流量 gzip_min_length 1000; #容量小于1000B的内容不压缩 gzip_buffers 16 32k; #压缩缓存的个数与容量 gzip_types /text/plain application/xml; #指定压缩文件类型 gzip_comp_level 2; #压缩级别,1-9,数字越多,压缩效果越好,但速度越慢 gzip_vary on; #用于设置在使用Gzip功能时,是否发送带有“Vary:Accept-Encoding”头域的响应头部,该头部用于告诉接收方发送的数据经过了压缩处理。 gunzip_static on; #如果客户端浏览器不支持Gzip处理,Nginx服务器将返回解压后的数据。如果支持,则会忽略此指令。默认为关闭状态。 server { listen 80; #服务器监听的端口 server_name localhost; #访问域名 #charset koi8-r; #access_log logs/host.access.log main; #设置虚拟主机的访问日志 location / { #对URL进行匹配 root html; #设置网页根路径,使用的是相对路径,html指的是处于Nginx安装目录下 index index.html index.htm; #首页文件,先找index.html,若没有,再找index.htm } #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; #设置错误代码对应的错误页面 } } } --- #启动与停止服务 Shell > /usr/local/nginx/sbin/nginx #启动 Shell > /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf #指定配置文件启动 Shell > /usr/local/nginx/sbin/nginx -s stop #关闭nginx,快速停止nginx,可能并不保存相关信息 Shell > /usr/local/nginx/sbin/nginx -s quit #关闭nginx,完整有序的停止nginx,保存相关信息 Shell > /usr/local/nginx/sbin/nginx -s reload #重新载入nginx,当配置信息修改需要重新加载配置是使用 Shell > /usr/local/nginx/sbin/nginx -t -c filename #测试nginx配置文件是否正确
分享到: