搜档网
当前位置:搜档网 › LNMP安装与配置nginx

LNMP安装与配置nginx

LNMP安装与配置nginx
LNMP安装与配置nginx

LNMP安装与配置

Nginx与apache、lighttp性能综合对比,如下图:

一.系统需求:

?CentOS/RHEL/Fedora/Debian/Ubuntu系统

?需要3GB以上硬盘剩余空间

?MySQL 5.6及MariaDB 10必须1G以上内存。

?Linux下区分大小写,输入命令时请注意!

?确定yum源正常使用!

二.安装步骤:

1、下载并安装LNMP一键安装包:

#tar -zxvf lnmp1.2-full.tar.gz

#cd lnmp1.2-full

#./install.sh lnmp

安装LNMP执行:wget -c https://www.sodocs.net/doc/862108050.html,/lnmp/lnmp1.2-full.tar.gz && tar zxf lnmp1.2-full.tar.gz && cd lnmp1.2-full && ./install.sh lnmp

如需要安装LNMPA或LAMP,将./install.sh 后面的参数替换为lnmpa或lamp即可。

按上述命令执行后,会出现如下提示:

需要设置MySQL的root密码(不输入直接回车将会设置为root),输入后回车进入下一步,如下图所示:

这里需要确认是否启用MySQL InnoDB,如果不确定是否启用可以输入 y ,输入 y 表示启用,输入 n 表示不启用。默认为y 启用,输入后回车进入下一步,选择MySQL版本:

输入MySQL或MariaDB版本的序号,回车进入下一步,选择PHP版本:

输入PHP版本的序号,回车进入下一步,选择是否安装内存优化:

可以选择不安装、Jemalloc或TCmalloc,输入对应序号回车。

如果是LNMPA或LAMP的话还需要设置管理员邮箱

再选择Apache版本

提示"Press any key to install...or Press Ctrl+c to cancel"后,按回车键确认开始安装。

LNMP脚本就会自动安装编译Nginx、MySQL、PHP、phpMyAdmin、Zend Optimizer这几个软件。

3、安装完成

如果显示Nginx: OK,MySQL: OK,PHP: OK

并且Nginx、MySQL、PHP都是running,80和3306端口都存在,并Install lnmp V1.2 completed! enjoy it.的话,说明已经安装成功。

4、安装失败

如果出现类似上图的提示,则表明安装失败,说明没有安装成功!!

二.LNMP相关软件安装目录

Nginx 目录: /usr/local/nginx/

MySQL 目录 : /usr/local/mysql/

MySQL数据库所在目录:/usr/local/mysql/var/

PHP目录 : /usr/local/php/

PHPMyAdmin目录 : /home/wwwroot/default/phpmyadmin/

默认网站目录 : /home/wwwroot/default/

Nginx日志目录:/home/wwwlogs/

三.LNMP相关配置文件位置

Nginx主配置文件:/usr/local/nginx/conf/nginx.conf

MySQL配置文件:/etc/https://www.sodocs.net/doc/862108050.html,f

PHP配置文件:/usr/local/php/etc/php.ini

php-fpm配置文件:/usr/local/php/etc/php-fpm.conf

四.LNMP状态管理命令

LNMP 状态管理: lnmp {start|stop|reload|restart|kill|status}

LNMP 各个程序状态管理: lnmp {nginx|mysql|mariadb|php-fpm|pureftpd} {start|stop|reload|restart|kill|status}

五.配置文件

#vi /usr/local/nginx/conf/nginx.conf

user www www;

worker_processes auto;

#启动进程

error_log /home/wwwlogs/nginx_error.log crit;

#错误日志

pid /usr/local/nginx/logs/nginx.pid;

#主进程PID保存文件

#Specifies the value for maximum file descriptors that can be opened by this process.

worker_rlimit_nofile 51200;

#文件描述符数量

events

{

use epoll;

#网络I/O模型,建议linux使用epoll,FreeBSD使用kqueue

#epoll是多路复用IO(I/O Multiplexing)中的一种方式,但是仅用于linux2.6以

上内核,可以大大提高nginx的性能

worker_connections 51200;

#单个工作进程最大允许连接数

multi_accept on;

}

http

#整体环境配置

{

include mime.types;

default_type application/octet-stream;

#设定mime类型,文件传送类型由mime.type文件定义

server_names_hash_bucket_size 128; #保存服务器名字的hash表大小

client_header_buffer_size 32k; #客户端请求头部缓冲区大小

large_client_header_buffers 4 32k; #最大客户端头缓冲大小 client_max_body_size 50m; #客户端最大上传文件大小(M)

sendfile on;

#sendfile 指令指定 nginx 是否调用 sendfile 函数(zero copy 方式)来输出文

件,对于普通应用,必须设为 on。如果用来进行下载等应用磁盘IO重负载应用,可

设置为off,以平衡磁盘与网络I/O处理速度,降低系统的uptime.

#高效文件传输

tcp_nopush on;

#这个是默认的,结果就是数据包不会马上传送出去,等到数据包最大时,一次性的

传输出去,这样有助于解决网络堵塞。(只在sendfile on时有效)

keepalive_timeout 60;

#连接超时时间

tcp_nodelay on;

#禁用nagle算法,也即不缓存数据。有效解决网络阻塞

fastcgi_connect_timeout 300;

fastcgi_send_timeout 300;

fastcgi_read_timeout 300;

fastcgi_buffer_size 64k;

fastcgi_buffers 4 64k;

fastcgi_busy_buffers_size 128k;

fastcgi_temp_file_write_size 256k;

#fastcgi设置

gzip on;

gzip_min_length 1k;

gzip_buffers 4 16k;

gzip_http_version 1.1;

gzip_comp_level 2;

gzip_types text/plain application/javascript application/x-javascript text/javascript text/css application/xml

application/xml+rss;

gzip_vary on;

gzip_proxied expired no-cache no-store private auth;

gzip_disable "MSIE [1-6]\.";

#limit_conn_zone $binary_remote_addr zone=perip:10m;

##If enable limit_conn_zone,add "limit_conn perip 10;" to server section. server_tokens off;

#隐藏nginx版本号(curl -I 192.168.4.154可以查看,更加安全)

#log format

log_format access '$remote_addr - $remote_user [$time_local] "$request" '

'$status $body_bytes_sent "$http_referer" '

'"$http_user_agent" $http_x_forwarded_for';

#定义日志格式

server

{

listen 80 default_server;

#listen [::]:80 default_server ipv6only=on;

#监听80端口

server_name https://www.sodocs.net/doc/862108050.html,;

#服务器名

index index.html index.htm index.php;

#默认网页文件

root /home/wwwroot/default;

#网页主目录

#error_page 404 /404.html;

include enable-php.conf;

location /nginx_status

{

stub_status on;

access_log off;

}

#开启status状态监测

location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$

{

expires 30d;

}

#静态文件处理,保存期30天

location ~ .*\.(js|css)?$

{

expires 12h;

}

#js和css文件处理,保存期12小时

location ~ /\.

{

deny all;

}

access_log /home/wwwlogs/access.log access;

#正确访问日志

}

include vhost/*.conf;

#vhost/下子配置文件生效

}

检查nginx配置文件语句错误

/usr/local/nginx/sbin/nginx -t

平滑重启nginx进程

1)pkill -HUP nginx

2)kill -HUP `pgrep -uroot nginx`

Pgrep -uroot nginx 取出nginx主进程PID

3)/usr/local/nginx/sbin/nginx -s reload

六.配置实验

1.nginx虚拟主机

sina和sohu域名事先解析

Vi /usr/local/nginx/conf/nginx.conf

== https://www.sodocs.net/doc/862108050.html,公司网站

server

{

listen 80 ;

#listen [::]:80 default_server ipv6only=on;

server_name https://www.sodocs.net/doc/862108050.html,;

index index.html index.htm index.php;

root /home/wwwroot/sina;

#error_page 404 /404.html;

include enable-php.conf;

}

== https://www.sodocs.net/doc/862108050.html,公司网站

server

{

listen 80 ;

#listen [::]:80 default_server ipv6only=on;

server_name https://www.sodocs.net/doc/862108050.html,;

index index.html index.htm index.php;

root /home/wwwroot/sohu;

#error_page 404 /404.html;

include enable-php.conf;

}

重启nginx

最后在客户端测试虚拟主机https://www.sodocs.net/doc/862108050.html,和https://www.sodocs.net/doc/862108050.html,两家公司网站

2.列表页显示

server

{

listen 80;

server_name https://www.sodocs.net/doc/862108050.html,;

index index.html index.htm index.php;

root /home/wwwroot/sina;

autoindex on;

3.nginx状态监控

location /nginx_status{

stub_status on;

access_log off;

}

#客户端访问网址:http://IP/nginx_status

4.rewrite正则过滤

location ~ \.php$ {

proxy_pass http://127.0.0.1;

}

Rewrite指令最后一项参数为flag标记,支持的flag标记如下:

Last

停止执行当前这一轮的ngx_http_rewrite_module指令集,然后查找匹配改变后URI的新location;

Break

停止执行当前这一轮的ngx_http_rewrite_module指令集;

Redirect

在replacement字符串未以“http://”或“https://”开头时,使用返回状态码为302的临时重定向;

Permanent

返回状态码为301的永久重定向。

Last和break用来实现uri重写,浏览器地址栏的url地址不变,但在服务器访问的路径发生了变化,redirect和permanent用来实现url跳转,浏览器地址栏会显示跳转后的url地址,使用alias指令时必须使用last标记,使用proxy_pass指令时要使用break标记,last标记在本条rewrite规则执行完毕后,会对其所在的server{}标签重新发起请求,而break标记则在本条规则匹配完成后,终止匹配,不再匹配后面的规则.

例1:域名跳转

输入https://www.sodocs.net/doc/862108050.html,,跳转到https://www.sodocs.net/doc/862108050.html,

server

{

listen 80;

server_name https://www.sodocs.net/doc/862108050.html,;

index index.html index.htm index.php;

root /home/wwwroot/sina;

if ($http_host = https://www.sodocs.net/doc/862108050.html,) {

rewrite (.*) https://www.sodocs.net/doc/862108050.html, permanent;

}

}

server

{

listen 80;

server_name https://www.sodocs.net/doc/862108050.html,;

index index.html index.htm index.php;

root /home/wwwroot/sohu;

}

例2:文件跳转

server

{

listen 80;

server_name https://www.sodocs.net/doc/862108050.html,;

index index.html index.htm index.php;

root /home/wwwroot/sina;

rewrite inde /indexa.html last;

}

5.禁止IP地址访问

server {

listen 80 default;

return 500;

}

后面的default参数表示这个是默认虚拟主机。

比如别人通过ip或者未知域名访问你的网站的时候,你希望禁止显示任何有效内容,可以给他返回500.

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版本,官网下载: https://www.sodocs.net/doc/862108050.html,/download/nginx-1.0.11.zip 下载到软件包后,解压nginx-nginx1.0.11.zip 包到你喜欢的根目录,并将目录名改为nginx。 然后,执行下列操作: cd nginx start nginx 这样,nginx 服务就启动了。打开任务管理器,查看nginx.exe 进程,有二个进程会显示,占用系统资源,那是相当的少。然后再打开浏览器,输入http://127.0.0.1/就可以看到nginx 的欢迎页面了,非常友好 nginx -s stop // 停止nginx nginx -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;

nginx设置rewrite规则

Nginx 设置rewrite规则 Windows下环境为wamp ,在wamp 环境下,设置rewite规则时,很是简单,只需要打开Apache配置中的rewrite规则,项目中使用rewrite规则时只需创建.htaccess文件,在文件中编写规则,Apache会自动进行解析,但是在linux下则有些不一样。 Linux下环境若是lamp,则和wamp下是相同的,但当环境为lnmp时,需要注意进行如下配置方法: 根据所安装的环境情况,如果环境是lnmp集成环境,在配置rewrite规则时,因为集成环境,在安装完毕后,在安装的目录/usr/local/nginx/conf下,会生成一个文件“wordparss”,这个文件中是专门用于写rewrite规则所用,你可以在这个文件中书写rewrite规则,nginx 的rewrite规则与Apache的规则基本是相同的,只是在文件中书写的方法不同,wordpaess 问件中默认是有一个规则的,如: 利用location加载访问路径,“/”,指代由访问路径的根目录开始, 用if对加载的路径$request_filename 进行验证: 1 、-f 和!-f 用来判断文件是否存在 2、-d 和!-d 用来判断目录是否存在 3 、-e 和!-e 用来判断文件或目录是否存在 4、-x 和!-x 用来判断文件是否可执行 Flag标记: 1、last 相当于Apache里的[L]标记,表示完成rewrite 2、break 终止匹配, 不再匹配后面的规则 3、redirect 返回302临时重定向地址栏会显示跳转后的地址 4、permanent 返回301永久重定向地址栏会显示跳转后的地址 因为在lnmp集成环境下要配置虚拟域名是可以进行自动生成的,生成后会在/usr/local/nginx/conf/vhost 下生成一个以虚拟域名的名字的文件,如:lin_hp.its.conf,而所对应的rewrite规则最好在与域名相对应的配置文件中进行配置,这样不会说,如果有多个域名时,他们所对应的rewrite规则不同,在公共的wordpress文件中配置引起冲突,所配置的方法与在wprdpress文件中是相同的,如:

nginx配置解析详解(一)

nginx配置解析详解(一) 现在针对nginx源码分析的blog和文章已经很多了,之前我也看过不少,大家的分析都很不错。太多重复的内容就不写了,主要想针对在我分析代码和查阅blog的过程中,发现的一些比较晦涩或者某些细节有待展开讨论的地方,给出我的自己理解和看法,希望跟大家交流和学习。 使用的nginx版本是nginx-1.0.6,我最开始看的代码是0.7.62,新的版本在功能和稳定性上做了很多的工作。在分析的时候,我尽量简单明了,不太重要的地方一带而过,具体地大家可以去读代码。相对复杂或者晦涩的地方,将详细展开。 首先我们从配置文件开始,下面的分析是建立在网友对nginx的配置文件结构有大概熟悉为前提,这样才可以很好的理解代码。这里有必要提醒一点:原始代码目录中 ngx_modules这个结构,是找不到它的定义和初始化,要看到它,你必须执行configure,make,在原来的代码目录下会出现一个objs文件夹,里面的3个文件ngx_auto_config.h,ngx_auto_headers.h,ngx_modules.c,需要在建source insight工程时也包含进去,这样有利于我们把握整个代码结构。有意思的是,nginx的configure文件是作者手工写的,里面有许多管理代码工程的方法,有时间的话,也是值得学习下的。 1.ngx_cycle_t *ngx_init_cycle(ngx_cycle_t *old_cycle); 配置文件的解析相关的处理主要在ngx_init_cycle函数中被调用。既然如此,我们就先说说ngx_init_cycle函数吧。 它需要一个参数类型为ngx_cycle_t *,返回值也是一个ngx_cycle_t*,与此同时我们注意到参数名为old_cycle,那么这个函数的作用是啥呢?很明显是由old得到一个new。其中ngx_cycle_t的结构保存一些全局的配置和信息。 这个函数具体作用将在reconfig(重读配置文件)的时候得到体现,可以理解为old_cycle 是当前正在使用的配置信息,当配置文件做了某些修改之后,ngx_init_cycle通过old_cycle 中的一些数据,对new_cycle进行一些设置,在经过进一步的配置解析之后,就可以得到一个new cycle。 2.char *ngx_conf_parse(ngx_conf_t *cf, ngx_str_t *filename) 当我们使用sourceinsight查看这个函数的调用情况时,会发现调用它的地方很多。其实,入口点就在ngx_init_cycle中对ngx_conf_parse调用,后面的所有的调用可以看作是在此之后的递归调用。为什么会是这个样子呢?原因在于nginx是一边读取配置信息,一边解析执行相关的处理,具体一点讲,就是“读一行,执行一行”,一行的定义在这里是指以分号或者是“{”和“}”等结尾的一行,例如:我们解析到http {},我们就调用针对httpblock的处理,在处理的时候我们又会碰到server {},自然就会调用server block的处理。。。以此类推!。

nginx虚拟主机和文件服务器的配置

Nginx文件服务器和虚拟主机的配置 https://www.sodocs.net/doc/862108050.html,的配置文件: 1.游戏服务器: server { listen 80; server_name https://www.sodocs.net/doc/862108050.html,; index index.html index.htm index.php; root /data/web/fc/game3w/releases1/public; location ~ .*\.php$ { include fcgi.conf; fastcgi_pass 127.0.0.1:10080; fastcgi_index index.php; expires off; } access_log /data/logs/https://www.sodocs.net/doc/862108050.html,.log access; } 2.客户端的配置: server { listen 80; server_name https://www.sodocs.net/doc/862108050.html,; index index.html index.htm index.php; root /data/web/fc/resource; charset utf-8; #expires 2h; location ~* .svn$ { return 404; } location ~ .*\.swf$ { expires 365d; } location ~ .*\.css$ { expires 365d; } location ~ .*\.xml$ { expires 365d;

} location ~ .*\.js$ { expires 365d; } location ~ .*\.jpg$ { expires 365d; } location ~ .*\.gif$ { expires 365d; } location ~ .*\.png$ { expires 365d; } location ~ .*\.mp3$ { expires 365d; } location ~ .*\.game$ { expires 365d; } location ~ .*\.lib$ { expires 365d; } access_log off; } 3.文件服务器的配置: server { listen 9000; server_name 192.168.26.8; location / { autoindex on; autoindex_exact_size off; autoindex_localtime on; index index.html index.htm index.php; root /data/server/trunk/bin/logs/; allow all; } }

Nginx系列讲解

Nginx系列 一信号与配置 一、Nginx与信号 Nginx支持平滑重启,相比于Apache,修改了配置文件后可以不需要先停止程序,再重新启动。 1、启动 nginx –c nginx.conf 其中,-c nginx.conf可以省略不写。如果省略,则默认加载安装目录下的conf子目录中的nginx.conf。 2、停止 停止的方式有很多种,kill时传入不同的信号来结束或者平滑重启。Nginx的进程号记录在Pid文件中,Pid文件的位置可以在conf/nginx.conf中找到。如下图: 当然,也可以根据 ps –ef | grep nginx 来查找Nginx的进程号。我们可以通过kill命令来结束Nginx。 从容停止Nginx: kill –QUIT Nginx进程ID 或 kill – QUIT /usr/local/nginx/logs/nginx.pid 快速停止Nginx: kill –TERM Nginx进程ID 或

kill – TERM /usr/local/nginx/logs/nginx.pid 或 kill –INT Nginx进程ID 或 kill – INT /usr/local/nginx/logs/nginx.pid 强制停止Nginx: kill –9 Nginx进程ID 或 kill -9 /usr/local/nginx/logs/nginx.pid 或 pkill -9 nginx 3、重启 如果修改了Nginx的配置文件,想要重启Nginx。同样可以使用kill命令来传递信号。不过,在此之前,我强烈建议先检查并测试配置文件是否正确。 测试配置文件: nginx –t –c conf/nginx.conf 若提示unknow directive *** in conf/nginx.conf:55. Configuration file conf/nginx.conf test failed,则证明在第55行的***是非法的,需要修改。 若提示the configuration file conf/nginx.conf syntax is ok. Configuration file conf/nginx.conf test is successful,则证明配置文件测试通过,可以重启Nginx了。 平滑重启Nginx: kill –HUP Nginx进程ID 或

linux下Nginx+tomcat整合的安装与配置

linux下Nginx+tomcat整合的安装与配置 目的:搭建Nginx与tomcat整合,用Nginx代替apache 步骤: 一、安装Tomcat和JDK 1、上传apache-tomcat-6.0.18.tar.gz和jdk-6u12-linux-i586.bin至/usr/local 2、执行如下命令安装tomcat: 查看 打印? 1. 2.#cd /usr/local 3.#tar zxvf apache-tomcat-6.0.18.tar.gz 解压完成后将apache-tomcat-6.0.18重命名为tomcat 3、执行如下命令安装JDK: 查看 打印? 1. 2.#./jdk-6u12-linux-i586.bin 4、配置环境变量: 编辑/etc下的profile文件,加上如下内容: 查看 打印? 1. 2.JAVA_HOME="/usr/local/jdk1.6.0_12" 3.CLASS_PATH="$JAVA_HOME/lib:$JAVA_HOME/jre/lib" 4.PATH=".:$PATH:$JAVA_HOME/bin " 5. 6.CATALINA_HOME="/usr/local/tomcat" 7.export JAVA_HOME CATALINA_HOME 5、启动tomcat并输入http://localhost:8080,如果看到猫的页面即tomcat和jdk安装成功 6、新建文件目录/home/www为网站存放目录,设置server.xml文件,在Host name="localhost"处将appBase=的指向路径改为/home/www/web

Nginx与PHP(FastCGI)的安装、配置与优化

Nginx与PHP(FastCGI)的安装、配置与优化 FastCGI的介绍和工作原理 首先简单的介绍下FastCGI: FastCGI是语言无关的、可伸缩结构的CGI开放扩展,其主要行为是将CGI解释器进行保持在内存中并因此获得较高的性能。众所周知,CGI解释器的反复加载是CGI性能低下的主要原因,如果CGI解释器保持在内存中并接受FastCGI进程管理器调度,则可以提供良好的性能、伸缩性、Fail-Over特性等。 FastCGI的工作原理是: (1)FastCGI进程管理器自身初始化,启动多个CGI解释器进程(多个php-cgi进程)并等待来自Web Server的连接。在文本中,采用PHP-FPM进程管理器启动多个php-cgi FastCGI进程。启动php-cgi FastCGI进程时,可以配置以TCP和UNIX套接字两种方式启动。 (2)当客户端请求达到Web服务器(Nginx)时,Web服务器将请求采用TCP协议或UNIX 套接字方式转发到FastCGI主进程,FastCGI主进程选择并连接到一个CGI解释器(子进程)。Web服务器将CGI环境变量和标准输入发送到FastCGI子进程php-cgi。 (3)FastCGI子进程完成处理后将标准输出和错误信息从同一连接返回Web服务器(Nginx)。当FastCGI子进程关闭连接时,请求便告知处理完成。FastCGI子进程接着等待并处理来自FastCGI进程管理的下一个连接。而在一般的普通CGI模式中,php-cgi在此便退出了。 PHP-FPM PHP-FPM是一个PHP FastCGI管理器,是只用于PHP的,可以在 https://www.sodocs.net/doc/862108050.html,/downloads.php下载得到.PHP-FPM其实是PHP源代码的一个补丁,旨在将FastCGI进程管理整合进PHP包中。必须将它patch到你的PHP源代码中,在编译安装PHP后才可以使用。

Nginx-1.0.15负载均衡安装配置

nginx-1.0.15负载均衡安装配置 OS:ubuntu 1、取得软件 pcre-8.30.zip nginx-1.0.15.tar.gz apt-get install gcclibpcre*zlib 2、安装rewrite的支持库pcre unzip pcre-8.30.zip cd pcre-8.30 ./configure make make install 3、配置nginx.conf cat /usr/local/nginx/conf/nginx.conf | grep -Ev '(#|^$)' worker_processes 1; events { worker_connections 1024; } http { includemime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; upstream https://www.sodocs.net/doc/862108050.html, { server 10.0.0.252:8080; server 10.0.0.253:8080; server 10.0.0.105:8080; } server { listen 80; server_name https://www.sodocs.net/doc/862108050.html,; location ~ ^/$ { rewrite ^/(.*) /jboss/ break; proxy_pass https://www.sodocs.net/doc/862108050.html,; } } }

4、启动nginx服务 /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

window下nginx配置

原来一直以为nginx只能在Linux下搭建,最近查了些资料才恍然大悟,Windows下其实也可以跑nginx。当你的网站访问量越来越高的时候,一台服务器已经没有办法承受流量压力,后果可想而知,怎么办呢?那就增加几台服务器来做负载吧。但当下的硬件设施又是贵得离谱,比如F5,所以这种情况下,免费的nginx成了我们不错的选择,nginx目前好多门户网站与大访问量的网站都在使用做为HTTP服务器,所以nginx是相当优秀的…… 实验环境:(2台服务器) 第一台: 系统:Win2003 nginx:nginx/Windows-0.8.32 IP:192.168.0.51 环境:本地 第二台: 系统:Win2003 IP:192.168.0.52 环境:远程 说明: 本次测试,软件nginx放在本地(192.168.0.51),也就是说放在域名绑定的那台服务器,这台服务器的IIS不能使用80端口,因为等一下nginx软件要使用80这个端口。(为了方便,我将本机的hosts文件添加了我要测试的域名192.168.0.51 https://www.sodocs.net/doc/862108050.html,) 下载nginx的地址如下: nginx下载:https://www.sodocs.net/doc/862108050.html,/ 下载解压到C:\,把目录名改成nginx 一切准备就绪,开始实验: No.1: 在本地(192.168.0.51)这台服务器IIS创建一个网站,使用端口为808,如下图:

IIS 网站绑定设置图 No.2: 在远程192.168.0.52的IIS创建一个网站,使用端口为80,如下图: No.3: 好了,以上已经设置好两台服务器的IIS了,下面配置nginx软件来实现网站负载均衡,打开如下文件: C:\nginx\conf\nginx.conf 1、找到内容server { 在它的上面加入如下内容:

nginx负载均衡master配置文件nginx.conf

#user nobody; worker_processes auto; #error_log logs/error.log; error_log logs/error.log notice; #error_log logs/error.log info; #pid logs/nginx.pid; worker_rlimit_nofile 100000; events { use epoll; worker_connections 204800; } http { ## 用户的IP 地址$binary_remote_addr 作为Key,每个IP 地址最多有50 个并发连接 ## 你想开几千个连接刷死我?超过50 个连接,直接返回503 错误给你,根本不处理你的请求了 limit_conn_zone $binary_remote_addr zone=TotalConnLimitZone:10m ; #limit_conn TotalConnLimitZone 50; limit_conn TotalConnLimitZone 500; limit_conn_log_level notice; ## 用户的IP 地址$binary_remote_addr 作为Key,每个IP 地址每分钟处理50 个请求## 你想用程序每秒几百次的刷我,没戏,再快了就不处理了,直接返回503 错误给你 #limit_req_zone $binary_remote_addr zone=ConnLimitZone:10m rate=200r/m; limit_req_zone $binary_remote_addr zone=ConnLimitZone:10m rate=2000r/m; limit_req_log_level notice; #include mime.types; #default_type application/octet-stream; #access_log logs/access.log main; #server_tokens off; #sendfile on; #tcp_nopush on; #keepalive_timeout 0; #keepalive_timeout 65; server_tokens off; include mime.types; default_type application/octet-stream; log_format main '$remote_addr - $remote_user [$time_local] $request ' '"$status" $body_bytes_sent "$http_referer" '

【Nginx服务器的编译安装与配置】 安装配置服务器失败

【Nginx服务器的编译安装与配置】安装配置服务器失败 Nginx 是一个很强大的轻量级、高性能Web和反向代理服务器,由俄罗斯人开发而成。它具有很多非常优越的特性:在高连接并发的情况下,Nginx是Apache服务器不错的替代品。而且还可以作为负载均衡服务器,代码用C语言完成,运行效率非常高,还可以做邮件代理服务器。下面是小编跟大家分享的是Nginx服务器的编译安装与配置,欢迎大家来阅读学习~ Nginx服务器的编译安装与配置 工具/原料 Linux服务器或虚拟机一台(这里使用的CentOS6.5) Nginx源码包(这里使用1.44的版本,下载链接:H://pan.baidu/s/1qWoe2te 密码:fqji) 方法/步骤 1要编译安装Nginx,首先我们要安装依赖包pcre-devel 和zlib-devel: # yum install pcre-devel zlib-devel -y 程序默认是使用nobody 身份运行的,我们建议使用nginx 用户来运行,首先添加Nginx组和用户,不创建家目录,不允许登陆系统 # groupadd nginx # useradd -M -s /sbin/nologin -g nginx nginx

2准备工作完成后就是下载编译安装Nginx了,可以从我提供的网盘下载,也可以去Nginx的官网下载。 首先解压源码包: # tar xf nginx-1.4.4.tar.gz 然后cd 到解压后的目录就可以执行./configure 了 # cd nginx-1.4.4 指定安装目录和运行时用的属主和属组,并启用状态监控模块等 # ./configure \ --prefix=/usr/local/nginx \ --pid-path=/var/run/nginx/nginx.pid \ --lock-path=/var/lock/nginx.lock \ --user=nginx \ --group=nginx \ --with-H_ssl_module \ --with-H_flv_module \

NGinx分布式部署测试实例图解

https://www.sodocs.net/doc/862108050.html,+Mvc+NGinx+IIS分布式部署和负载平衡实例图解 目的:在IIS中创建四个相同的网站,浏览器访问同一个地址,通过NGinx转到不同的IIS 网站。 测试条件: Windows 7 X64旗舰版+Visual Studio 2017专业版 1、创建https://www.sodocs.net/doc/862108050.html, +Mvc WebApplication 在VS运行后的页面效果如下:

2、发布网站 3、IIS中部署四个网站 创建三个应用程序池,端口分别为: 8001、8002、8003,8004分别对应四个网站。 为区分三个网站,把Index.cshtml文件中的“Nginx测试程序”这行字分别改为:Nginx测试程序--------1 Nginx测试程序--------2 Nginx测试程序--------3 Nginx测试程序--------4 如下图: 部署四个网站后,打开页面效果如下:

到此,说明四个网站部署后单独访问都没有问题。下面开始部署NGInx的负载平衡。

4、NGInx的安装 4.1、下载nginx-1.1 5.1 下载后解压到D:\nginx文件夹,解压后的文件夹如下: 4.2、修改配置文件nginx.conf nginx.conf文件位于D:\nginx\conf目录下,nginx.conf默认内容如下。用记事本打开文件,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" '

Nginx+PHP+MySQL详细配置(图)

Nginx是一个高性能的HTTP和反向代理服务器,同时还是IMAP/POP3/SMTP代理服务器,该程序由俄罗斯Rambler.ru 站点开发,Nginx因为性能稳定、低系统资源消耗而闻名,近几年Nginx在国内已经成炙热化状态,比如像腾讯、网易、51CTO、迅雷、当当网、51、人人网等诸多大型网站都已经使用Nginx来做Web服务器,所以我们要学会运用Nginx还是非常有必要的,下面我们一起来看一下Nginx是如何在Linux平台上搭建的 安装前首先使用yum命令安装、升级所需的程序库 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 ssse2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers 一、安装MySQLssss 目前web服务器已经很少有跑静态页面的,如果要跑动态网站那当然就离不开数据库,虽然在以前文章中有写MySQL是怎么安装的,但是感觉好久没装MySQL,现在只把步骤贴出来,就不做过多的讲解了 #useradd mysql #tar zxvf mysql-5.0.40.tar.gz #cd mysql-5.0.40 #./configure --prefix=/usr/local/mysql #make && make install #/usr/local/mysql/bin/mysql_install_db --user=mysql //初始化MySQL数据库 #chown -R mysql /usr/local/mysql/var #/usr/local/mysql/bin/mysqld_safe & //启动MySQL #/usr/local/mysql/bin/mysqladmin -u root password 123456 //设置MySQL密码 #cp support-files/https://www.sodocs.net/doc/862108050.html,f /etc/https://www.sodocs.net/doc/862108050.html,f #echo "/usr/local/mysql/bin/mysqld_safe &" >>/etc/rc.local

1.1 nginx部署(单机)-手动安装

注: 在配置时,建议使用非root用户配置,本文档以【用户密码:nginx/nginx】【目录:/nginx】为例进行说明 文档中执行命令为蓝色字体;配置文件为粉色字体;重点标记为红色字体 1.单机部署 1.1.准备 上传【1.1 nginx部署介质.zip】包到安装目录/nginx,执行解压得到soft目录 unzip 1.1\nginx部署介质.zip 1.2.安装 1.2.1.解压依赖库 cd /nginx/soft &&tar -zxvf pcre-8.35.tar.gz&&tar -zxvf zlib-1.2.8.tar.gz&&tar -zxvf openssl-1.0.1c.tar.gz 1.2.2.安装nginx cd /nginx/soft&&tar -xvfnginx-1.11.5.tar.gz&&cd nginx-1.11.5&&./configure --prefix=/nginx/nginx--with-pcre=/nginx/soft/pcre-8.35 --with-zlib=/nginx/soft/zlib-1.2.8 --with-openssl=/nginx/soft/openssl-1.0.1c&&make&&make install 安装之后soft目录不能删除! 1.2.3.验证 进入/nginx/nginx,出现以下4个目录conf、html、logs、sbin 1.3.配置 1.3.1.修改配置nginx.conf文件 cd/nginx/nginx/conf vi nginx.conf 删除原来所有内容,使用以下内容,或者复制soft下面nginx.conf至此目录,然后进行修改

nginx配置方案

WEB服务器安装方案 平台搭建环境: CentOS5.2 32/x86_64 GNU/Linux (32/64操作系统均通过,推荐使用64位操作系统) 一、系统安装 1. 系统分区建议 /boot 256M swap 2GB / 20GB /usr 40GB (用于安装软件) /data 剩余所有空间. 二、编译安装基本环境 1. 安装准备 1.1 系统约定 软件源代码包存放位置 /usr/local/src 源码包编译安装位置(prefix) /usr/local/software_ name 脚本以及维护程序存放位置 /usr/local/sbin MySQL 数据库位置 /data/mysql/(可按情况设置) 网站根目录/data/www/htdocs(可按情况设置) 网站日志根目录/data/www/logs(可按情况设置) Nginx运行账户www 1.2创建网站账号及相关存放目录 /usr/sbin/groupadd www /usr/sbin/useradd -g www www mkdir -p /data/www/html mkdir -p /data/www/log chown -R www:www /data/www/html chown -R www:www /data/www/log 1.3系统环境部署及调整 # tail -n100 /var/log/messages (检查有无系统级错误信息) # dmesg (检查硬件设备是否有错误信息) # ifconfig(检查网卡设置是否正确) # ping 192.168.95.1 (检查网络是否正常) install_software_name.sh //存放编译参数脚本习惯将所有编译脚本存放在install_software_name.sh便于升级和更新软件. 1.4定时校正服务器时钟,定时与中国国家授时中心授时服务器同步 #crontab -e

Nginx 高可用+负载均衡部署文档V1.0.2

Nginx高可用+负载均衡部署指南 1软件版本说明 2基础软件安装 2.1Nginx安装 版本jdk-7u67-linux-x64.rpm,安装步骤略 安装后检验Nginx版本是否正确。 [root@localhost ~]# /usr/local/nginx/sbin/nginx –v nginx version: nginx/1.6.0 2.2Keepalived安装 2.2.1openssl安装 openssl必须安装,否则安装keepalived时无法编译,keepalived依赖openssl openssl安装 tar zxvf openssl-1.0.1g.tar.gz ./config--prefix=/usr/local/openssl ./config-t make depend make make test make install ln-s /usr/local/openssl/usr/local/ssl openssl配置 vi/etc/ld.so.conf #在/etc/ld.so.conf文件的最后面,添加如下内容:

/usr/local/openssl/lib vi/etc/profile export OPENSSL=/usr/local/openssl/bin export PATH=$PATH:$OPENSSL source/etc/profile yum install openssl-devel -y #如无法yum下载安装,请修改yum配置文件 测试: ldd /usr/local/openssl/bin/openssl linux-vdso.so.1 => (0x00007fff996b9000) libdl.so.2 => /lib64/libdl.so.2 (0x00000030efc00000) libc.so.6 => /lib64/libc.so.6 (0x00000030f0000000) /lib64/ld-linux-x86-64.so.2 (0x00000030ef800000) which openssl /usr/bin/openssl openssl version OpenSSL 1.0.0-fips 29 Mar 2010 2.2.2keepalived安装 本文在172.17.30.64、172.17.30.83两台机器进行keepalived安装 安装 tar zxvf keepalived-1.2.13.tar.gz cd keepalived-1.2.13 ./configure--prefix=/usr/local/keepalived make make install cp/usr/local/keepalived/sbin/keepalived/usr/sbin/ cp/usr/local/keepalived/etc/sysconfig/keepalived/etc/sysconfig/ cp/usr/local/keepalived/etc/rc.d/init.d/keepalived/etc/init.d/ mkdir/etc/keepalived cp/usr/local/keepalived/etc/keepalived/keepalived.conf /etc/keepalived

Nginx+Tomcat配置

Nginx+Tomcat配置 为什么使用Nginx? Apache ?经典的Web服务器 ?除了慢没有别的缺点了 ?Apache2对fcgi支持并不好 ?非常好用的proxy和proxy_ajp(很多人用它作为tomcat的前端) ?不支持epoll(这年头,epoll几乎是性能的必备) Nginx ?速度快,占用资源少 ?杀手级的proxy和rewrite ?非常不错的静态文件能力 ?最适合作为整个网站的前端服务(将php、svn等不同请求发送往后端apache) ?其他功能马马虎虎 代理服务器,也是一个 IMAP/POP3/SMTP代理服务器。已经因为它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而被人们广泛使用了。 大多数人选择它主要考虑到的是它的高并发和负载均衡。 安装Nginx 1. tar zxvf nginx0.8.36.tar.gz 2、编译安装nginx cd nginx-0.7.44 ./configure --with-http_stub_status_module --with-http_ssl_module --prefix=/usr/local/nginx 执行后,可能会提示 ./configure: error: the HTTP rewrite module requires the PCRE library.这个错误,是缺少pcre 包,可用yum install pcre pcre-devlel来解决 3、make && make install 4、nginx安装成功后的安装目录为/usr/local/nginx 5.编辑配置文件nginx.conf

nginx入门教程

nginx入门教程:启动,停止及命令参数详解详细介绍一下nginx基础命令及其参数的含义。 说明:我的nginx命令的操作环境是Windows nginx命令:启动nginx 在Windows上安装好nginx后,我们需要启动nginx服务,启动nginx服务的命令行操作主要有两种方式,即 1 C:\nginx-0.8.53>nginx.exe 或者 1 C:\nginx-0.8.53>start nginx 启动nginx命令说明:需要注意,由于nginx默认端口也是80端口,如果此时你的机器上开启了Apache或者IIS服务,切忌在启动nginx之前务必关闭IIS或Apache服务,否则nginx启动命令不会成功。 nginx命令:停止nginx 停止nginx的命令主要有两种,即 1 C:\nginx-0.8.53>nginx -s stop 或者 1 C:\nginx-0.8.53>nginx -s quit nginx停止命令stop与quit参数的区别在于stop是快速停止nginx,可能并不保存相关信息,quit是完整有序的停止nginx,并保存相关信息。 nginx启动与停止命令的效果都可以通过Windows任务管理器中的进程选项卡观察。 其他nginx命令参数详解 1 nginx -c

此命令参数指定一个新的nginx配置文件来替换默认的nginx配置文件,如果你不确定新的nginx配置文件语法是否正确,你可以通过nginx命令-t参数来测试,-t参数代表不运行配置文件,而仅仅只是测试配置文件,即 1 nginx -t -c nginx命令参数v与V的区别 nginx -v命令只是简单显示nginx的版本信息(nginx version),而nginx -V 不但显示nginx的版本信息,而且还显示nginx的配置参数信息。 重载nginx命令 1 nginx -s reload 当你改变了nginx配置信息并需要重新载入这些配置时可以使用此命令重载nginx 重新打开日志文件命令 1 nginx -s reopen 至此,启动、停止nginx,查看、测试nginx配置文件等这些最基础的nginx 命令就介绍完了。 更多关于nginx的问题,访问:https://www.sodocs.net/doc/862108050.html,/weihu。

Nginx安装学习使用详细记录

前言: 选择Nginx的优点: Nginx 可以在大多数 Unix like OS 上编译运行,并有 Windows 移植版。 Nginx 的1.4.0稳定版已经于2013年4月24日发布,一般情况下,对于新建站点,建议使用最新稳定版作为生产版本,已有站点的升级急迫性不高。Nginx 的源代码使用 2-clause BSD-like license。 Nginx 是一个很强大的高性能Web和反向代理服务器,它具有很多非常优越的特性: 在高连接并发的情况下,Nginx是Apache服务器不错的替代品:Nginx在美国是做虚拟主机生意的老板们经常选择的软件平台之一。能够支持高达 50,000 个并发连接数的响应,感谢Nginx为我们选择了 epoll and kqueue作为开发模型。 1.1 执行安装 1.tar -xvf nginx-1.4. 2.tar.gz 2.cd nginx-1.4.2 3../configure --prefix=/usr/nginx --with-http_stub_status_module --with-debug --with -http_realip_module --with-http_ssl_module 4. 5. 6.[root@localhost nginx-1.4.2]# make install 7....... 8.test-d \'/usr/nginx/logs\'|| mkdir -p \'/usr/nginx/logs\' 9.test-d \'/usr/nginx/logs\'|| mkdir -p \'/usr/nginx/logs\' 10.test-d \'/usr/nginx/html\'|| cp -R html \'/usr/nginx\' 11.test-d \'/usr/nginx/logs\'|| mkdir -p \'/usr/nginx/logs\' 1.2 查看进程数 进程数是与top出来的cpu数量是一样的。在/usr/local/nginx/conf/nginx.conf配置文件里面的worker_processes参数。 worker_processes指明了nginx要开启的进程数,据官方说法,一般开一个就够了,多开几个,可以减少机器io带来的影响。据实践表明,nginx的这个参数在一般情况下开4个或8个就可以了,再往上开的话优化不太大。据另一种说法是,nginx开启太多的进程,会影响主进程调度,所以占用的cpu会增高。 1.[root@lb-net-2 ~]# ps -eaf|grep nginx 2.root 2221 1382 0 18:06 pts/0 00:00:00 grep nginx 3.root 16260 1 0 Jun18 ? 00:00:00 nginx: master process /usr/local/nginx/sbin/nginx 4.nobody 16261 16260 0 Jun18 ? 00:01:26 nginx: worker process 5.nobody 16262 16260 0 Jun18 ? 00:01:32 nginx: worker process 6.nobody 16263 16260 0 Jun18 ? 00:01:25 nginx: worker process 7.nobody 16264 16260 0 Jun18 ? 00:01:33 nginx: worker process 8.nobody 16265 16260 0 Jun18 ? 00:01:32 nginx: worker process 9.nobody 16266 16260 0 Jun18 ? 00:01:24 nginx: worker process 10.nobody 16267 16260 0 Jun18 ? 00:01:32 nginx: worker process 11.nobody 16268 16260 0 Jun18 ? 00:01:23 nginx: worker process

相关主题