Nginx的概述和配置( 二 )

Nginx的概述和配置

文章插图
3.3创建运行用户、组
Nginx的概述和配置

文章插图
3.4编译安装Nginx3.4.1 解压Nginx软件包
Nginx的概述和配置

文章插图
3.4.2 安装相关模块
Nginx的概述和配置

文章插图
3.4.3 编译安装
Nginx的概述和配置

文章插图
3.4.4 将Nginx链接到/user/local/sbin下
Nginx的概述和配置

文章插图
3.5检查、启动、重启、停止Nginx服务3.5.1 检查和启动
Nginx的概述和配置

文章插图
Nginx的概述和配置

文章插图
3.5.2 停止、重启nginx服务
Nginx的概述和配置

文章插图
Nginx的概述和配置

文章插图
3.5.3 重载服务
Nginx的概述和配置

文章插图
3.6添加nginx 系统服务3.6.1vim/lib/systemd/system/nginx.service文件,并添加配置内容
Nginx的概述和配置

文章插图
3.6.2赋予权限并开启服务
Nginx的概述和配置

文章插图

Nginx的概述和配置

文章插图

Nginx的概述和配置

文章插图
四、认识Nginx服务的主配置文件vim /usr/local/nginx/conf/nginx.conf4.1全局配置#usernobody;#运行用户 , 若编译时未指定则默认为 nobodyworker_processes1;#工作进程数量 , 可配置成服务器内核数 * 2,如果网站访问量不大,一般设为1就够用了#error_loglogs/error.log;#错误日志文件的位置#pidlogs/nginx.pid;#PID 文件的位置4.2I/O事件配置events {use epoll;#使用epoll模型,2.6及以上版本的系统内核,建议使用epoll模型以提高性能worker_connections4096;#每个进程处理 4096个连接}如提高每个进程的连接数还需执行"ulimit -n 65535"命令临时修改本地每个进程可以同时打开的最大文件数 。在Linux平台上,在进行高并发TCP连接处理时 , 最高的并发数量都要受到系统对用户单一进程同时可打开文件数量的限制(这是因为系统为每个TCP连接都要创建一个socket句柄 , 每个socket句柄同时也是一个文件句柄) 。可使用ulimit -a命令查看系统允许当前用户进程打开的文件数限制 。
4.3HTTP 配置http {includemime.types;##文件扩展名与文件类型映射表default_typeapplication/octet-stream;##默认文件类型##日志格式设定#log_formatmain'$remote_addr - $remote_user [$time_local] "$request" '#'$status $body_bytes_sent "$http_referer" '#'"$http_user_agent" "$http_x_forwarded_for"';#access_loglogs/access.logmain;#日志格式设定sendfileon;##支持文件发送(下载)##此选项允许或禁止使用socket的TCP cORK的选项(发送数据包前先缓存数据),此选项仅在使用sendfile的时候使用#tcp_nopushon;##连接保持超时时间 , 单位是秒#keepalive_timeout0;keepalive_timeout65;#gzipon;##gzip模块设置 , 设置是否开启gzip压缩输出server {listen80;##监听地址及端口server_namewww.fzr.com;##站点域名,可以有多个 , 用空格隔开#charset utf-8;#网页的默认字符集#access_loglogs/host.access.logmain;location / {##根目录配置roothtml;##网站根目录的位置/usr/local/nginx/htmlindexindex.html index.htm;##默认首页文件名}#error_page404/404.html;# redirect server error pages to the static page /50x.html#error_page500 502 503 504/50x.html;##内部错误的反馈页面location = /50x.html {##错误页面配置roothtml;}日志格式设定∶$remote_addr与$http x forwarded for用以记录客户端的ip地址;$remote user∶ 用来记录客户端用户名称;$time local∶ 用来记录访问时间与时区;$request∶用来记录请求的url与http协议;$status∶ 用来记录请求状态;成功是200 , $body bytes sent ∶ 记录发送给客户端文件主体内容大小;$http referer∶ 用来记录从哪个页面链接访问过来的;$http user agent∶记录客户浏览器的相关信息;
通常web服务器放在反向代理的后面 , 这样就不能获取到客户的IP地址了,通过Sremote_add拿到的IP地址是反向代理服务器的iP地址 。反向代理服务器在转发请求的http头信息中,可以增加x_forwarded_for信息,用以记录原有客户端的IP地址和原来客户端的请求的服务器地址 。

推荐阅读