nginx安装及配置
Windows下Nginx的安装与配置
Windows下Nginx的安装与配置Windows下Nginx的安装与配置Nginx ("engine x") 是一款高性能的,轻量级的HTTP Web服务器和反向代理服务器及电子邮件IMAP/POP3/SMTP代理服务器。
Nginx是由俄罗斯的程序设计师Igor Sysoev 所开发,为俄罗斯访问量第二的Rambler.ru 站点开发的,它已经在该站点运行超过四年多时间了,Igor 将源代码以类BSD许可证的形式发布。
自Nginx 发布四年来,Nginx 已经因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名了。
Nginx 超越Apache的高性能和稳定性,使得国内使用Nginx 作为Web 服务器的网站也越来越多。
目前国内各大门户网站已经部署了Nginx,如新浪、网易、腾讯等;新近发现Nginx 技术在国内日趋火热,越来越多的网站开始应用部署Nginx。
一、首先去官网下载nginx1.0.11的Windows版本,官网下载:/download/nginx-1.0.11.zip下载到软件包后,解压nginx-nginx1.0.11.zip 包到你喜欢的根目录,并将目录名改为nginx。
然后,执行下列操作:cd nginxstart nginx这样,nginx 服务就启动了。
打开任务管理器,查看nginx.exe 进程,有二个进程会显示,占用系统资源,那是相当的少。
然后再打开浏览器,输入http://127.0.0.1/就可以看到nginx的欢迎页面了,非常友好nginx -s stop // 停止nginxnginx -s reload // 重新加载配置文件nginx -s quit // 退出nginx二、接下来就是配置nginx的conf文件了。
下面是我的配置:#user nobody;worker_processes 1;#error_log logs/error.log;#error_log logs/error.log notice;#error_log logs/error.log info;#pid logs/nginx.pid;events {worker_connections 1024;}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 0;keepalive_timeout 65;#gzip on;server {listen 80;server_name localhost;#charset koi8-r;#access_log logs/host.access.log main;location ~* software/(.*).*\.(jpg|rar){expires 21d;root d:/temp/;access_log d:/temp/_nginx_s3gd-205.log;proxy_store on;proxy_store_access user:rw group:rw all:rw;proxy_temp_path d:/temp/;proxy_redirect off;proxy_set_header Host 112.25.10.140;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; client_max_body_size 10m;client_body_buffer_size 1280k;proxy_connect_timeout 900;proxy_send_timeout 900;proxy_read_timeout 900;proxy_buffer_size 40k;proxy_buffers 40 320k;proxy_busy_buffers_size 640k;proxy_temp_file_write_size 640k;if ( !-e $request_filename){proxy_pass http://112.25.10.140:80;}}location / {root html;index 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;}# proxy the PHP scripts to Apache listening on 127.0.0.1:80##location ~ \.php$ {# proxy_pass http://127.0.0.1;#}# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 ##location ~ \.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 {# deny all;#}}# another virtual host using mix of IP-, name-, and port-based configuration ##server {# listen 8000;# listen somename:8080;# server_name somename alias another.alias;# location / {# root html;# index index.html index.htm;# }#}# HTTPS server##server {# listen 443;# server_name localhost;# ssl on;# ssl_certificate cert.pem;# ssl_certificate_key cert.key;# ssl_session_timeout 5m;# ssl_protocols SSLv2 SSLv3 TLSv1;# ssl_ciphers HIGH:!aNULL:!MD5;# ssl_prefer_server_ciphers on;# location / {# root html;# index index.html index.htm; # }#}}Windows下Nginx+PHP5的安装与配置方法Nginx 是一个轻量级的高性能Http WebServer,以事件驱动方式编写,因此相比Apache 而言,Nginx 更加稳定、性能更好,而且配置简单,资源占用较低。
004-nginx简介、安装配置【源码安装和mac安装】、基本使用
004-nginx简介、安装配置【源码安装和mac安装】、基本使⽤⼀、概述1.1、Nginx是什么 Nginx是⼀款轻量级的Web服务器,也是⼀款轻量级的反向代理服务器【常⽤】。
1.2、Nginx能⼲什么Nginx能⼲的事情很多,这⾥简要罗列⼀些: 1:直接⽀持Rails和PHP的程序 2:作为HTTP反向代理服务器 3:作为负载均衡服务器 4:作为邮件代理服务器 5:帮助实现前端动静分离1.3、Nginx特点 ⾼稳定、⾼性能、资源占⽤少、功能丰富、模块化结构、⽀持热部署⼆、安装配置2.1、源码安装环境:CentOS 安装function nginx_install() {echo"nginx init start ######"if [ -e nginx-1.15.12.tar.gz ]; thenecho"exist nginx-1.15.12.tar.gz"elseecho"nginx download start ……"wget /download/nginx-1.15.12.tar.gzecho"nginx download end ……"fiecho"nginx install start ……"yum -y install gcc-c++yum -y install pcre*yum -y install openssl*tar -zvxf nginx-1.15.12.tar.gzrm -rf $1mkdir -p $1mkdir -p $1/runcd nginx-1.15.12# 指定⽬录安装./configure --prefix=$1 --conf-path=$1/conf/nginx.confmake && make install# 拷贝配置mv $1/conf/nginx.conf $1/conf/nginx.conf.defaultcp ${project_path}/nginx.conf $1/conf/nginx.confmkdir -p $1/runrm -rf nginx-1.15.12echo"nginx install end ……"echo"nginx init end ######"}使⽤nginx_install '/export/servers/nginx'安装注意cp: "conf/koi-win" 与"/application/nginx-1.6.3/conf/koi-win" 为同⼀⽂件错误原因:安装⽬录和解压后的安装包为同⼀个⽬录。
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地址。
linux下nginx1.6.0及其依赖库从源码编译安装、配置、启动、使用
linux下nginx1.6.0及其依赖库从源码编译安装、配置、启动、使用一、说明:这是一个自动化安装包,文件组织结构如下:/read_me.txt是此安装包的使用说明书。
/pack_repo/下包含的是所有需要用到的源码包,请自行下载。
/script_conf/*.sh是执行安装过程的脚本。
/script_conf/*.conf是配置文件。
大家只要还原出本安装包的内容,即可实现在任何linux发行版上一键安装nginx。
二、安装包中各文件内容A、/read_me.txt文件内容如下:1、安装:mkdir -p /usr/tmpx/install/nginx/复制pack_repo 和script_conf 下的所有文件到/usr/tmpx/install/nginx/下执行:sh /usr/tmpx/install/nginx/script_conf/install_nginx.sh即开始安装nginx安装过程的输出写入到日志文件/usr/tmpx/install/nginx/log.txt,同时也在控制台显示2、启动mv /usr/local/nginx-1.6.0/conf/nginx.conf /usr/local/nginx-1.6.0/conf/nginx_conf_original #备份原始nginx.confmv /usr/tmpx/install/nginx/script_conf/nginx.conf /usr/local/nginx-1.6.0/conf/nginx.conf #使用我们的配置mkdir -p /var/web_nginx_site_conf/mv /usr/tmpx/install/nginx/script_conf/site1.conf /var/web_nginx_site_conf/#注意如果nginx.conf中没有包含任何server,则nginx即使启动了,也不会监听80端口,因为没有应用。
CentOS8下nginx服务器安装及配置笔记
CentOS8下nginx服务器安装及配置笔记参考⽂档参考⽂档安装在CentOS下,nginx官⽅提供了安装包可以安装⾸先先安装前置软件sudo yum install yum-utils然后将nginx官⽅源加⼊到yum源中#/etc/yum.repos.d/nginx.repo[nginx-stable]name=nginx stable repobaseurl=/packages/centos/$releasever/$basearch/gpgcheck=1enabled=1gpgkey=https:///keys/nginx_signing.keymodule_hotfixes=true[nginx-mainline]name=nginx mainline repobaseurl=/packages/mainline/centos/$releasever/$basearch/gpgcheck=1enabled=0gpgkey=https:///keys/nginx_signing.keymodule_hotfixes=truenginx分为稳定和主线分⽀两个分⽀,默认为稳定分⽀,可以根据需要切换为主线分⽀sudo yum-config-manager --enable nginx-mainline使⽤命令就可以安装nginx了sudo yum install nginxnginx运⾏管理执⾏nginx命令可以开启服务器。
-?参数可以获取更多命令⾏参数nginx -s stop|quit|reload|reopen可以控制服务器直接退出|结束⼯作并退出|重新加载配置⽂件(重启)|重新打开⽇志⽂件ps axw -o pid,ppid,user,%cpu,vsz,wchan,command | egrep '(nginx|PID)'可以列出nginx的主进程pid和⼯作进程pid。
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编译代码(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 17 11:42 /usr/sbin/nginx -> /usr/local/nginx/sbin/nginx[root@localhost ~]# nginx⼆、配置⽂件详解#全局配置端user nginx nginx; #启动Ngnix⼯作进程的⽤户和组worker_processes [number | auto]; #启动的⼯作进程数worker_cpu_affinity 0001 0010 0100 1000 #将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 500 502 503 504 /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⽂件来改变⾃⼰的重定向等功能。
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即可。
Ubuntu中Nginx的安装与配置详细说明
Ubuntu中Nginx的安装与配置详细说明1.Nginx介绍Nginx是⼀个⾮常轻量级的HTTP服务器,Nginx,它的发⾳为“engine X”,是⼀个⾼性能的HTTP和反向代理服务器,同时也是⼀个IMAP/POP3/SMTP 代理服务器。
2.对PHP⽀持⽬前各种web 服务器对PHP的⽀持⼀共有三种:(1)通过web 服务器内置的模块来实现,例如Apache的mod_php5,类似的Apache内置的mod_perl可以对perl⽀持。
(2)通过CGI来实现,这个就好⽐之前perl的CGI,该种⽅式的缺点是性能差,因为每次服务器遇到这些脚本都需要重新启动脚本解析器来执⾏脚本然后将结果返回给服务器;另⼀⽅⾯就是不太安全;该⽅⾯⼏乎很少使⽤了。
(3)最新出现⼀种叫做FastCGI。
所谓FastCGI就是对CGI的改进。
它⼀般采⽤C/S结构,⼀般脚本处理器会启动⼀个或者多个daemon进程,每次web 服务器遇到脚本的时候,直接交付给FastCGI的进程来执⾏,然后将得到的结果(通常为html)返回给浏览器。
2.1 Apache+mod_php模式我们很久⼀段时间使⽤经典的Apache+mod_php。
Apache对PHP的⽀持是通过Apache的模块来⽀持的。
如果从源代码编译安装PHP的话,如果希望Apache⽀持PHP的话,在./configure步骤需要指定--with-apxs2=/usr/local/apache2/bin/apxs 表⽰告诉编译器通过Apache的mod_php5/apxs来提供对PHP5的解析;⽽且在最后⼀步make install的时候我们会看到将动态链接库libphp5.so拷贝到apache2的安装⽬录的modules⽬录下,并且还需要在httpd.conf配置⽂件中添加LoadModule语句来动态将libphp5.so模块加载进来,从⽽实现Apache对php的⽀持。
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源码安装配置详解(.configure)
nginx源码安装配置详解(.configure)在"./configure"配置中,"--with"表⽰启⽤模块,也就是说这些模块在编译时不会⾃动构建,"--without"表⽰禁⽤模块,也就是说这些模块在编译时会⾃动构建,若你想Nginx轻量级运⾏,可以去除⼀些不必要的模块。
[root@localhost nginx-1.14.0]# ./configure --help => 查看编译配置项--help打印帮助信息。
--prefix=PATH设置软件安装⽬录路径。
--sbin-path=PATH设置可执⾏⽂件安装⽬录路径。
--modules-path=PATH设置模块安装⽬录路径。
--conf-path=PATH设置配置⽂件安装⽬录路径。
--error-log-path=PATH设置错误⽇志⽂件安装⽬录路径。
--pid-path=PATH设置进程⽂件安装⽬录路径。
--lock-path=PATH设置NGINX锁⽂件安装⽬录路径,当NGINX运⾏时会⾃动创建该⽂件,⽤于在⼀台服务器上只允许运⾏⼀个NGINX服务。
--user=USER设置运⾏进程时所使⽤的系统⽤户,如果没有指定,则默认为nobody,就算安装时不指定,后期也可以通过修改"nginx.conf"配置⽂件中的"user"项修改。
--group=GROUP设置运⾏进程时所使⽤的⽤户组。
--build=NAME设置编译名,⼀个描述,没有任何其他作⽤。
--builddir=DIR设置编译⽬录,会将编译后⽣成的⽂件写⼊到这个⽬录中。
----------------------------------------------------------------------------------with-select_module--without-select_module启⽤或禁⽤select事件驱动模型。
nginx1.8安装配置及优化(修改版)
Nginx1.8安装配置1.创建www用户和用户组groupadd wwwuseradd -s /sbin/nologin -g www www2.安装pcre软件包tar zxvf pcre-8.12.tar.gz -C /usr/src/cd /usr/src/pcre-8.12/./configure && make && make installldconfig3.解压、配置、编译、安装nginx[root@localhost opt]# tar -zxvf nginx-1.8.0.tar.gz[root@localhost opt]# cd nginx-1.8.0[root@localhost nginx-1.8.0]#./configure --prefix=/usr/local/nginx --user=www --group=www --with-http_stub_status_module --with-http_realip_module --with-http_gzip_static_module --with-pcre这一步安装了2个包yum -y install pcre-develyum install -y zlib-devel[root@localhost nginx-1.8.0]# make && make install6.编辑nginx.conf配置文件vim /usr/local/nginx/conf/nginx.conf 文件详见附件。
7.创建目录并修改权限注:html文件可以作为nginx缓存的根路径。
可根据实际情况修改。
mkdir -p /home/www/logmkdir -p /home/www/pidmkdir -p /home/www/htmlchown -R www:www /home/www/logchown -R www:www /home/www/pidchown -R www:www /home/www/htmlchown -R www:www /usr/local/nginx8.测试启动nginx服务ln -s /usr/local/nginx/sbin/nginx /usr/bin/nginxnginx -tnginx -c /usr/local/nginx/conf/nginx.confps -aux | grep nginxnetstat -anptu | grep 809.编写nginx启动脚本vim /etc/init.d/nginx 文件详见附件10.添加nginx系统服务chmod a+x /etc/init.d/nginxchkconfig --add nginxchkconfig --level 2345 nginx onchkconfig --list | grep nginx11.重启nginx服务service nginx restartps -aux | grep nginxnetstat -anptu | grep 8012.防火墙开启80端口iptables -A INPUT -p tcp --dport 80 -j ACCEPT13.性能优化13.1 nginx参数配置详见附件nginx.conf文件。
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会快速、高效地将这些文件传输给客户端。
centos7nginx安装启动与配置通用Nginx.conf
centos7nginx安装启动与配置通⽤Nginx.conf1、安装:yum -y install nginx2、安装成功后nginx的⼏个默认⽬录输⼊命令: whereis nginx执⾏⽬录:/usr/sbin/nginx模块所在⽬录:/usr/lib64/nginx/modules配置所在⽬录:/etc/nginx/默认站点⽬录:/usr/share/nginx/html主要配置⽂件:/etc/nginx/nginx.conf 指向:/etc/nginx/conf.d/default.confPID⽬录:/var/run/nginx.pid错误⽇志:/var/log/nginx/error.log访问⽇志:/var/log/nginx/access.log3、查看nginx状态(未启动前)命令1:systemctl status nginx.service4、启动、停⽌、重载命令systemctl start nginx.servicesystemctl stop nginx.servicesystemctl reload nginx.servicesystemctl status nginx.service注意:当配置完Nginx.conf并重新启动Nginx时,需要⼀定的时间才会⽣效。
5、查看nginx的状态及进程与端⼝(启动后)命令1:systemctl status nginx.service以上nginx就已安装成功了命令2:netstat -antp | grep :80(查看80端⼝被哪个服务占⽤)or netstat -antpuel | grep ":22" | grep -v grep(过虑grep本⾝)命令3:netstat -antp | grep :(查看所有端⼝占⽤情况) 命令4:ps aux | grep nginx(查看nginx进程运⾏状态)or ps aux | grep :80 | grep -v grep(过虑grep本⾝)查看端⼝被占⽤情况命令5:lsof -i:端⼝号命令6:netstat -tunlp|grep 端⼝号6、杀掉进程命令a)相关nginx进⾏全部杀掉:killall -9 nginxb)把PID两个进程杀掉:kill -9 pid1 and kill -9 pid17、查看版本命令:nginx -V8、server配置说明"#"代表注释,最重要的是server{}块这部分就代表每⼀个web站点,此处先暂时设置三个站点分别使⽤不同的端⼝80、81、82保存退出并且重启nginxsystemctl reload nginx.service每⼀个server就是⼀个虚拟主机,我们有⼀个当作web服务器来使⽤listen 80;代表监听80端⼝server_name ;代表外⽹访问的域名location / {};代表⼀个过滤器,/匹配所有请求,我们还可以根据⾃⼰的情况定义不同的过滤,⽐如对静态⽂件js、css、image制定专属过滤root html;代表站点根⽬录index index.html;代表默认主页9、负载均衡配置负载均衡功能往往在接收到某个请求后分配到后端的多台服务器上,那我们就需要upstream{}块来配合使⽤upstream xxx{};upstream模块是命名⼀个后端服务器组,组名必须为后端服务器站点域名,内部可以写多台服务器ip和port,还可以设置跳转规则及权重等等ip_hash;代表使⽤ip地址⽅式分配跳转后端服务器,同⼀ip请求每次都会访问同⼀台后端服务器server;代表后端服务器地址server{};server模块依然是接收外部请求的部分server_name;代表外⽹访问域名location / {};同样代表过滤器,⽤于制定不同请求的不同操作proxy_pass;代表后端服务器组名,此组名必须为后端服务器站点域名server_name和upstream{}的组名可以不⼀致,server_name是外⽹访问接收请求的域名,upstream{}的组名是跳转后端服务器时站点访问的域名配置⼀下Windows的host将我们要访问的域名指向Linux因为硬件有限,我是将Windows中的IIS作为Nginx的后端服务器,所以配置⼀下IIS的站点域名打开cmd再ping⼀下确实指向Linux系统了,再打开浏览器输⼊会显⽰bbb这个站点就代表负载成功了。
Nginx+FastDFS整合安装与配置详细图文教程
Nginx+FastDFS安装与配置图文教程第1章 软件环境1.1 Nginx安装1.1.1 安装步骤第一步:下载安装包之后,将安装包传入linux的文件目录下,比如 /data/software 创建目录:mkdir -p /data/software(将下载好的nginx-fastdfs-1905文件拷贝至此目录)第二步:依次安装openssl-fips-2.0.16.tar.gz、zlib-1.2.11.tar.gz、pcre-8.38.tar.gz、nginx-1.15.8.tar.gz安装命令:2.1 安装openssl-fips-2.0.16#tar -zxvf openssl-fips-2.0.16.tar.gz#cd openssl-fips-2.0.16#./config#make#make install>>如果上述过程出现下面异常:Operating system: x86_64-whatever-linux2 You need Perl 5.解决方法:(注意软件包可下载在/data/software目录下)wget https:///src/5.0/perl-5.30.1.tar.gztar -xzf perl-5.30.1.tar.gzcd perl-5.30.1./Configure -des -Dprefix=$HOME/localperlmakemake testmake install>>如果上述过程出现下面异常:./hints/linux.sh:行174: gcc: 未找到命令Operating system name? [linux]Operating system version? [3.10.0-693.el7.x86_64] Installation prefix to use? (~name ok) [/root/localperl]解决方法:yum install gcc2.2 安装zlib-1.2.11tar -zxvf zlib-1.2.11.tar.gzcd zlib-1.2.11./configuremakemake install2.3 安装pcre-8.38tar -zxvf pcre-8.38.tar.gzcd pcre-8.38./configuremakemake install>>如果上述过程出现下面异常:configure: error: You need a C++ compiler for C++ support.解决方法:使用yum安装yum -y install gcc-c++2.4 安装 nginx-1.15.8.tar.gztar -zxvf nginx-1.15.12.tar.gzcd nginx-1.15.12./configure --with-pcre=../pcre-8.38 --with-zlib=../zlib-1.2.11 --with-openssl=../openssl-fips-2.0.16 --with-streammakemake install至此Nginx的安装完成!第三步:检测是否安装成功cd /usr/local/nginx/sbin./nginx -t出现如下所示提示,表示安装成功启动nginx[root@localhost sbin]# ./nginx查看端口[root@localhost sbin]# netstat -ntlp>>若遇到netstat: 未找到命令解决方法:yum y install nettools1.2 FastDFS安装1.2.1 安装步骤第一步:创建文件夹存储安装包[root@K9-TMS ~]# mkdir /data/software上传指定安装包到如上目录当中第二步:安装libfastcommon创建安装文件夹# unzip libfastcommon-master.zip# cd libfastcommon-master编译[root@K9-TMS libfastcommon-master]# ./make.sh安装[root@K9-TMS libfastcommon-master]# ./make.sh install创建软连接ln -s /usr/lib64/libfastcommon.so /usr/local/lib/libfastcommon.so ln -sf /usr/lib64/libfastcommon.so /usr/lib/libfastcommon.soln -s /usr/lib64/libfdfsclient.so /usr/local/lib/libfdfsclient.so ln -s /usr/lib64/libfdfsclient.so /usr/lib/libfdfsclient.so第三步:安装FastDFS1、进入到cd /usr/local/software下,解压FastDFS文件unzip fastdfs-5.11.zipcd fastdfs-5.11/安装# ./make.sh编译# ./make.sh install安装完后,服务脚本位置如下[root@rongserver112 fastdfs-5.11]# cd /etc/init.d/ && ls | grep fdfs查看配置文件cd /etc/fdfs/ll复制tracker.conf[root@K9-TMS fdfs]# cp tracker.conf.sample tracker.conf[root@K9-TMS fdfs]# vi /etc/fdfs/tracker.conf修改base_path的值为/data/fastdfs/tracker 如图所示创建文件目录mkdir -p /data/fastdfs/tracker启动跟踪服务/etc/init.d/fdfs_trackerd start启动后查看下方目录:cd /data/fastdfs/tracker/ && ll配置FastDFS存储cd /etc/fdfs/cp storage.conf.sample storage.conf && ll查看本机IP信息ifconfig修改配置:vi /etc/fdfs/storage.conf修改如下内容,修改完成保存base_path=/data/fastdfs/storagestore_path0=/data/fastdfs/storagetracker_server=172.30.10.112:22122新建文件保存目录mkdir -p /data/fastdfs/storage/data启动storage/etc/init.d/fdfs_storaged start进入到/etc/fdfs目录下并复制client.conf.sample并更名为client.confcd /etc/fdfs && llcp client.conf.sample client.conf && llvi /etc/fdfs/client.conf修改如下内容base_path=/data/fastdfs/trackertracker_server=172.30.10.112:22122重启/etc/init.d/fdfs_trackerd restart查看fast启动状态,ps -ef | grep fdfs查询存储空间cd /data/fastdfs/storage/data/ && ls测试上传:/usr/bin/fdfs_upload_file /etc/fdfs/client.conf /data/test.jpg第四步:FastDFS与nginx相结合解压fastdfs-nginx-module-master文件cd /data/software/nginx-fastdfs-1905/unzip fastdfs-nginx-module-master.zip进入到nginx目录下并执行配置和编译安装,如下所示:cd /data/software/nginx-fastdfs-1905/nginx-1.15.12./configure --add-module=/data/software/nginx-fastdfs-1905/fastdfs-nginx-module-master/src/make && make install复制fastdfs-nginx-module中的配置文件,到/etc/fdfs目录中,如下所示:cd /data/software/nginx-fastdfs-1905/fastdfs-nginx-module-master/src/ && llcp /data/software/nginx-fastdfs-1905/fastdfs-nginx-module-master/src/mod_fastdfs.conf /etc/fdfs/cd /etc/fdfs && llvi mod_fastdfs.conf修改如下内容:connect_timeout=20tracker_server=172.30.10.112:22122url_have_group_name=truestore_path0=/data/fastdfs/storage复制http.conf mime.types配置文件:cd /data/software/nginx-fastdfs-1905/fastdfs-5.11/conf && llcp http.conf mime.types /etc/fdfs/创建一个软连接,在/data/fastdfs/storage文件存储目录下创建软连接,将其链接到实际存放数据 的目录,如下所示:ln -s /data/fastdfs/storage/data/ /data/fastdfs/storage/data/M00修改nginx配置文件cd /usr/local/nginx/conf/vi nginx.conf添加下方的配置内容:server {listen 6932;server_name localhost;location ~/group([0-9])/M00{ngx_fastdfs_module; }}重载nginx的配置/usr/local/nginx/sbin/nginx -s reload此时可通过类似下方的链接访问,上面的测试图片:http://172.30.10.112:6932/group1/M00/00/00/xxxxx.png第五步:nginx配置https(如果需要https情况下)查看nginx安装是关联模块/usr/local/nginx/sbin/nginx -V进入nginx安装目录cd /data/software/nginx-fastdfs-1905/nginx-1.15.12/原有关联模块保持不变,加入https:./configure --with-openssl=../openssl-fips-2.0.16 --add-module=/data/software/nginx-fastdfs-1905/fastdfs-nginx-module-master/src/ --with-http_ssl_module# make# make install>> 若上述过程出现如下异常:src/event/ngx_event_openssl.h:15:25: 致命错误:openssl/ssl.h:没有那个文件或目录解决方法:root用户下输入:yum install openssl-devel。
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的形式存在的。
CentOS系统rpm安装Nginx和配置
CentOS系统rpm安装Nginx和配置⽬录CentOS rpm安装Nginx和配置介绍rpm包安装启动服务配置CentOS rpm安装Nginx和配置介绍Nginx(“engine x”)是⼀款由俄罗斯的程序设计师Igor Sysoev所开发⾼性能的 Web和反向代理服务器,也是⼀个IMAP/POP3/SMTP 代理服务器。
rpm包安装#安装nginx,rpm安装#rpm安装nginx包rpm -Uvh --force --nodeps nginx-1.16.1-1.el7.ngx.x86_64.rpm#查看启动状态systemctl status nginx显⽰如下:● nginx.service - nginx - high performance web serverLoaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; vendor preset: disabled)Active: active (running) since 五 2021-11-26 11:12:41 CST; 5 days agoDocs: /en/docs/Process: 1379 ExecStart=/usr/sbin/nginx -c /etc/nginx/nginx.conf (code=exited, status=0/SUCCESS)Main PID: 1543 (nginx)Tasks: 5CGroup: /system.slice/nginx.service├─1543 nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf├─1544 nginx: worker process├─1546 nginx: worker process├─1547 nginx: worker process└─1548 nginx: worker process11⽉ 26 11:12:41 liang systemd[1]: Starting nginx - high performance web server...11⽉ 26 11:12:41 liang systemd[1]: Started nginx - high performance web server.#启动systemctl start nginx#重启systemctl restart nginx#开机⾃启动服务systemctl enable nginx#查看开机启动状态 enabled:开启, disabled:关闭systemctl is-enabled nginx安装完后在修改 /etc/nginx/conf.d/default.conf 配置⽂件,参考内容如下:vim /etc/nginx/conf.d/default.confserver {listen 80;server_name localhost;#charset koi8-r;#access_log /var/log/nginx/host.access.log main;location /ui {alias /data/dist;index index.html index.htm;}location /file/ {root /home/data/;index index.html index.htm;}# websocket配置wsslocation /liangws/ {proxy_pass http://192.168.0.19:8080/;proxy_http_version 1.1;proxy_set_header Upgrade $http_upgrade;proxy_set_header Connection "upgrade";proxy_set_header Remote_addr $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_read_timeout 600s;}location ~ /gat {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://localhost:18080 ;}#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 /usr/share/nginx/html;}# proxy the PHP scripts to Apache listening on 127.0.0.1:80##location ~ \.php$ {# proxy_pass http://127.0.0.1;#}# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000##location ~ \.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 {# deny all;#}}注意:静态⽂件下载,需要依赖nginx,我们需要将这些⽂件放到 nginx配置⽂件中的 /home/data/aaa 对应的⽬录下。
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进行配置,在测试环境中现场实战了一次,特将过程记录总结如下。
编译安装Nginx1.16及配置优化
编译安装Nginx1.16及配置优化$ wget /download/nginx-1.16.1.tar.gz1、安装依赖$ yum -y install gcc gcc-c++ make libtool zlib zlib-devel pcre pcre-devel openssl openssl-devel2、编译安装Nginx# 解压tar包$ tar zxf nginx-1.16.1.tar.gz -C /tmp/# 创建程序⽤户$ groupadd nginx && useradd -g nginx nginx -s /sbin/nologin# 编译安装Nginx$ cd /tmp/nginx-1.16.1/$ ./configure --prefix=/usr/local/nginx --with-http_dav_module --with-http_stub_status_module --with-http_addition_module --with-http_sub_module --with-http_flv_module --with-http_mp4_module --with-pcre --with-http_ssl_module --with-http_gzip_st # 添加软连接$ ln -s /usr/local/sbin/nginx /usr/sbin/nginx3、验证安装$ nginx -tnginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is oknginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful4、配置优化点击查看nginx.conf代码$ cat /usr/local/nginx/conf/nginx.confuser nginx nginx;worker_processes 4;worker_cpu_affinity 0001 0010 0100 1000;worker_rlimit_nofile 65535;pid logs/nginx.pid;events {use epoll;worker_connections 65535;multi_accept on;}http {include mime.types;default_type application/octet-stream;# -------------------------- logs config ------------------------------------log_format main '$remote_addr - $remote_user [$time_local] "$request" ''"$http_referer" $status $body_bytes_sent $request_body ''"$http_user_agent" "$http_x_forwarded_for"';map $http_x_forwarded_for $clientRealIp {"" $remote_addr;~^(?P<firstAddr>[0-9\.]+),?.*$ $firstAddr;}log_format json '{"accessip_list":"$proxy_add_x_forwarded_for",''"client_ip":"$clientRealIp",''"http_host":"$host",''"@timestamp":"$time_iso8601",''"method":"$request_method",''"url":"$request_uri",''"status":"$status",''"http_referer":"$http_referer",''"body_bytes_sent":"$body_bytes_sent",''"request_time":"$request_time",''"http_user_agent":"$http_user_agent",''"total_bytes_sent":"$bytes_sent",''"server_ip":"$server_addr"}';error_log logs/error.log notice;access_log logs/access.log main;# ---------------------------------------------------------------------------sendfile on;limit_conn_zone $binary_remote_addr zone=perip:10m;limit_conn perip 10000;limit_rate 10000k;keepalive_timeout 300;tcp_nodelay on;server_names_hash_bucket_size 512;client_header_buffer_size 1m;open_file_cache max=102400 inactive=20s;open_file_cache_valid 30s;open_file_cache_min_uses 1;large_client_header_buffers 4 512k;reset_timedout_connection on;send_timeout 150;server_tokens off;client_header_timeout 120s;client_max_body_size 200m;client_body_timeout 120s;client_body_buffer_size 1m;proxy_request_buffering off;proxy_buffering off;proxy_connect_timeout 500s;proxy_send_timeout 500s;proxy_read_timeout 500s;fastcgi_connect_timeout 600;fastcgi_send_timeout 600;fastcgi_read_timeout 600;fastcgi_buffer_size 64k;fastcgi_buffers 4 64k;fastcgi_busy_buffers_size 128k;fastcgi_temp_file_write_size 128k;fastcgi_temp_path /usr/local/nginx/nginx_tmp;fastcgi_intercept_errors on;fastcgi_cache_path /usr/local/nginx/fastcgi_cache levels=1:2 keys_zone=cache_fastcgi:128m inactive=1d max_size=10g;gzip on;gzip_min_length 2k;gzip_buffers 4 32k;gzip_http_version 1.1;gzip_comp_level 6;gzip_types text/plain text/css text/javascript application/json application/javascript application/x-javascript application/xml;gzip_vary on;gzip_proxied any;# ⽤于配置websocketmap $http_upgrade $connection_upgrade {default Upgrade;'' close;}# -------------------------- 虚拟主机配置 ----------------------------------server {listen 80;server_name localhost;charset utf-8;access_log logs/access.log main;location / {root html;index index.html index.htm;}error_page 500 502 503 504 /50x.html;location = /50x.html {root html;}}include conf.d/*.conf;}5、加⼊systemctl系统服务$ vim /usr/lib/systemd/system/nginx.service[Unit]Description=nginx - high performance web serverAfter=network.target remote-fs.target nss-lookup.target[Service]Type=forkingExecStart=/usr/sbin/nginxExecReload=/usr/sbin/nginx -s reloadExecStop=/usr/sbin/nginx -s stop[Install]WantedBy=multi-user.target$ systemctl daemon-reload # 加载配置$ systemctl start nginx # 启动$ systemctl stop nginx # 停⽌$ systemctl restart nginx # 重启$ systemctl status nginx # 查看服务状态● nginx.service - nginx - high performance web serverLoaded: loaded (/usr/lib/systemd/system/nginx.service; disabled; vendor preset: disabled)Active: active (running) since Tue 2021-10-19 09:50:23 CST; 4s agoProcess: 25562 ExecStart=/usr/sbin/nginx (code=exited, status=0/SUCCESS)Main PID: 25563 (nginx)Tasks: 7Memory: 111.1MCGroup: /system.slice/nginx.service├─25563 nginx: master process /usr/sbin/nginx├─25564 nginx: worker process├─25565 nginx: worker process├─25566 nginx: worker process├─25567 nginx: worker process├─25568 nginx: cache manager process└─25569 nginx: cache loader processOct 19 09:50:23 research-cicd systemd[1]: Starting nginx - high performance web server...Oct 19 09:50:23 research-cicd systemd[1]: Started nginx - high performance web server.6、设置开机⾃启$ systemctl enable nginxCreated symlink from /etc/systemd/system/multi-user.target.wants/nginx.service to /usr/lib/systemd/system/nginx.service.。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
---> Package glibc-headers.x86_64 0:2.12-1.47.el6 will be updated
--> Processing Dependency: automake for package: libcurl-devel-7.19.7-26.el6_2.4.x86_64
---> Package libidn-devel.x86_64 0:1.18-2.el6 will be installed
[root@localhost Desktop]# yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers
---> Package libjpeg-devel.x86_64 0:6b-46.el6 will be installed
---> Package libpng.x86_64 2:1.2.46-1.el6_1 will be updated
---> Package libpng.x86_64 2:1.2.49-1.el6_2 will be an update
---> Package openssl-devel.x86_64 0:1.0.0-20.el6_2.5 will be installed
---> Package zlib-devel.x86_64 0:1.2.3-27.el6 will be installed
--> Running transaction check
---> Package openldap-clients.x86_64 0:2.4.23-20.el6 will be installed
---> Package openldap-devel.x86_64 0:2.4.23-20.el6 will be installed
--> Processing Dependency: cyrus-sasl-devel >= 2.1 for package: openldap-devel-2.4.23-20.el6.x86_64
--> Processing Dependency: libselinux-devel for package: krb5-devel-1.9-22.el6_2.1.x86_64
---> Package libcurl-devel.x86_64 0:7.19.7-26.el6_2.4 will be installed
---> Package openldap-servers.x86_64 0:2.4.23-20.el6 will be installed
---> Package openssl.x86_64 0:1.0.0-20.el6 will be updated
---> Package openssl.x86_64 0:1.0.0-20.el6_2.5 will be an update
--> Processing Dependency: glibc = 2.12-1.47.el6 for package: glibc-headers-2.12-1.47.el6.x86_64
---> Package glibc.x86_64 0:2.12-1.47.el6_2.12 will be an update
--> Processing Dependency: libstdc++-devel = 4.4.6-3.el6 for package: gcc-c++-4.4.6-3.el6.x86_64
---> Package glib2-devel.x86_64 0:2.22.5-6.el6 will be installed
No package nss_ldap available.
Resolving Dependencies
--> Running transaction check
---> Package autoconf.noarch 0:2.63-5.1.el6 will be installed
---> Package bzip2-devel.x86_64 0:1.0.5-7.el6_0 will be installed
* uபைடு நூலகம்dates: .sg
Setting up Install Process
Package gcc-4.4.6-3.el6.x86_64 already installed and latest version
Package libjpeg-6b-46.el6.x86_64 already installed and latest version
---> Package libpng-devel.x86_64 2:1.2.49-1.el6_2 will be installed
---> Package libxml2.x86_64 0:2.7.6-4.el6 will be updated
--> Processing Dependency: libxml2 = 2.7.6-4.el6 for package: libxml2-python-2.7.6-4.el6.x86_64
Loaded plugins: fastestmirror, refresh-packagekit, security
Determining fastest mirrors
* base:
* extras: .sg
---> Package curl.x86_64 0:7.19.7-26.el6_1.2 will be updated
---> Package curl.x86_64 0:7.19.7-26.el6_2.4 will be an update
--> Processing Dependency: libcurl = 7.19.7-26.el6_2.4 for package: curl-7.19.7-26.el6_2.4.x86_64
--> Processing Dependency: krb5-libs = 1.9-22.el6_2.1 for package: krb5-devel-1.9-22.el6_2.1.x86_64
--> Processing Dependency: keyutils-libs-devel for package: krb5-devel-1.9-22.el6_2.1.x86_64
Package zlib-1.2.3-27.el6.x86_64 already installed and latest version
Package glib2-2.22.5-6.el6.x86_64 already installed and latest version
Package bzip2-1.0.5-7.el6_0.x86_64 already installed and latest version
No package krb5 available.
Package libidn-1.18-2.el6.x86_64 already installed and latest version
Package openldap-2.4.23-20.el6.x86_64 already installed and latest version
---> Package glibc.x86_64 0:2.12-1.47.el6 will be updated
--> Processing Dependency: glibc = 2.12-1.47.el6 for package: glibc-common-2.12-1.47.el6.x86_64
---> Package automake.noarch 0:1.11.1-1.2.el6 will be installed
---> Package cyrus-sasl-devel.x86_64 0:2.1.23-13.el6 will be installed
---> Package glibc-common.x86_64 0:2.12-1.47.el6 will be updated
---> Package e2fsprogs-devel.x86_64 0:1.41.12-11.el6 will be installed
--> Processing Dependency: libcom_err-devel = 1.41.12-11.el6 for package: e2fsprogs-devel-1.41.12-11.el6.x86_64