linux搭建nginx WEB服务器的教程

下文来为各位介绍一篇在linux搭建nginx WEB服务器的教程,如果各位不想使用apache环境了,想用nginx环境就可以和小编一起来看看。

1、下载nginx

命令:wget http://nginx.org/download/nginx-0.8.54.tar.gz

2、解压

命令:tar zxvf nginx-0.8.54.tar.gz

3、进入目录

命令:cd nginx-0.8.54

4、安装依赖包

命令:yum -y install gcc pcre-devel openssl openssl-devel (没有网络可在centos中找相关rpm)

5、执行 ./configure

命令:./configure

6、继续安装

命令:

make

make install

7、启动nginx服务

命令:/usr/local/nginx/sbin/nginx

8、重启nginx服务

命令:/usr/local/nginx/sbin/nginx -s reload

9、修改站点的配置文件

命令:vi /usr/local/nginx/conf/nginx.conf

10、多站点设置

⑴、在 /usr/local/nginx/conf/ 下创建 vhost 目录

命令:mkdir /usr/local/nginx/conf/vhost

⑵、在 /usr/local/nginx/conf/vhost 里创建一个名字为 linlik.conf 的文件,把站点配置文件写入(请查看最下面的站点内容)

命令:vi /usr/local/nginx/conf/vhost/linlik.conf

⑶、打开 /usr/local/nginx/conf/nginx.conf 文件,在相应位置加入 include 把以上2个文件包含进来

在页尾后括号上面加入一句:include vhost/*.conf; 然后保存退出并重启nginx服务

11、多站点的站点配置文档内容

如下:

server

{

listen 80;

#listen [::]:80;

server_name jiahaolin.com www.111cn.net;

index index.html index.htm index.php default.html default.htm default.php;

root /www/jiahaolin;

include emlog.conf;

#error_page 404 /404.html;

location ~ [^/]/.php(/|$)

{

# comment try_files $uri =404; to enable pathinfo

try_files $uri =404;

fastcgi_pass unix:/tmp/php-cgi.sock;

fastcgi_index index.php;

include fastcgi.conf;

#include pathinfo.conf;

}

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

{

expires 30d;

}

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

{

expires 12h;

}

access_log /home/wwwlogs/jiahaolin.com.log access;

}

NGINX下如何自定义404页面

IIS和APACHE下自定义404页面的经验介绍文章已经非常多了,NGINX的目前还比较少,为了解决自家的问题特地对此作了深入的研究。研究结果表明,NGINX下配置自定义的404页面是可行的,而且很简单,只需如下几步:

1.创建自己的404.html页面

2.更改nginx.conf在http定义区域加入: fastcgi_intercept_errors on;

3.更改nginx.conf(或单独网站配置文件,例如在nginx -> sites-enabled下的站点配置文件 )

中在server 区域加入: error_page 404 /404.html 或者 error_page 404 =http://www.xxx.com/404.html

4.更改后重启nginx,,测试nginx.conf正确性: /opt/nginx/sbin/nginx –t

#502 等错误可以用同样的方法来配置。

error_page 500 502 503 504 /50x.html;

注意事项:

1.必须要添加:fastcgi_intercept_errors on; 如果这个选项没有设置,即使创建了404.html和配置了error_page也没有效果。fastcgi_intercept_errors 语法: fastcgi_intercept_errors on|off 默认: fastcgi_intercept_errors off 添加位置: http, server, location 默认情况下,nginx不支持自定义404错误页面,只有这个指令被设置为on,nginx才支持将404错误重定向。这里需要注意的是,并不是说设置了fastcgi_intercept_errors on,nginx就会将404错误重定向。在nginx中404错误重定向生效的前提是设置了fastcgi_intercept_errors on,并且正确的设置了error_page这个选项(包括语法和对应的404页面)

2.不要出于省事或者提高首页权重的目的将首页指定为404错误页面,也不要用其它方法跳转到首页。

3.自定义的404页面必须大于512字节,否则可能会出现IE默认的404页面。例如,假设自定义了404.html,大小只有11个字节(内容为:404错误)。

Nginx 配置安装以及一些常遇到的错误

nginx 编译安装 一、安装nginx时必须先安装相应的编译工具

yum -y install gcc gcc-c++ autoconf automake

yum -y install zlib zlib-devel openssl openssl-devel pcre-devel

建立nginx 组

groupadd -r nginx

useradd -s /sbin/nologin -g nginx -r nginx

id nginx

zlib:nginx提供gzip模块,需要zlib库支持

openssl:nginx提供ssl功能

pcre:支持地址重写rewrite功能

Nginx 官网下载地址: http://nginx.org/ 最新版 http://nginx.org/download/nginx-1.5.2.tar.gz

二、tar -zxvf nginx-1.2.8.tar.gz

三、cd nginx-1.2.8

配置

四、./configure /

--prefix=/usr /

--sbin-path=/usr/sbin/nginx /

--conf-path=/etc/nginx/nginx.conf /

--error-log-path=/var/log/nginx/error.log /

--pid-path=/var/run/nginx/nginx.pid /

--user=nginx /

--group=nginx /

--with-http_ssl_module /

--with-http_flv_module /

--with-http_gzip_static_module /

--http-log-path=/var/log/nginx/access.log /

--http-client-body-temp-path=/var/tmp/nginx/client /

--http-proxy-temp-path=/var/tmp/nginx/proxy /

--http-fastcgi-temp-path=/var/tmp/nginx/fcgi /

--with-http_stub_status_module

或者使用默认的 直接 ./configure

编译并且安装

五、make && make install

编译完成后 make install 进行安装 安转后就大功告成拉

小结:centos没有安装make编译器

解决:yum -y install gcc automake autoconf libtool make

重启动命令 /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf 更多参考 nginx --help

nginx 的配置以及常见小问题 如下:

nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use) 错误解决

nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)

nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)

nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)

nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)

nginx: [emerg] still could not bind()

问题描述:地址已被使用。可能nginx服务卡死了,导致端口占用,出现此错误。

解决方法:首先用lsof:80看下80端口被什么程序占用。lsof返回结果如下:

COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME

nginx 3274 root 6u IPv4 10664 0t0 TCP *:http (LISTEN)

nginx 3547 nginx 6u IPv4 10664 0t0 TCP *:http (LISTEN)

发现是nginx程序,所以我们把nginx服务k掉,重新启动服务。。命令如下:

kill -9 3274

kill -9 3547

或者 killall -9 nginx

从新载入配置文件启动 /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

启动成功了但是发现一个错误信息

[warn]: 51200 worker_connections are more than open file resource limit: 51200

虽然不是致命的问题 不影响nginx运行 但是看起来很烦人 我们来解决一下

nginx.conf 配置问题

events {

use epoll;

worker_connections 51200; // 这里出的问题

}

问题原因是 Linux的最大文件数限制。修改Linux 文件数限制 ulimit -n 51200

[root@localhost ~]# ulimit -n

[root@localhost ~]#

接下来从新载入配置文件重启动Ok了....

nginx error_log 错误日志配置说明

nginx的error_log类型如下(从左到右:debug最详细 crit最少):

[ debug | info | notice | warn | error | crit ]

例如:error_log logs/nginx_error.log crit;

解释:日志文件存储在nginx安装目录下的 logs/nginx_error.log ,错误类型为 crit ,也就是记录最少错误信息;

注意error_log off并不能关闭日志记录功能,它将日志文件写入一个文件名为off的文件中,如果你想关闭错误日志记录功能,应使用以下配置:

error_log /dev/null crit;

把存储位置设置到Linux的黑洞中去

同样注意0.7.53版本,nginx在读取配置文件指定的错误日志路径前将使用编译的默认日志位置,如果运行nginx的用户对该位置没有写入权限,nginx将输出如下错误:

[alert]: could not open error log file: open() "/var/log/nginx/error.log" failed (13: Permission denied) log_not_found 语法:log_not_found on | off

默认值:on

使用字段:location

这个参数指定了是否记录客户端的请求出现404错误的日志,通常用于不存在的robots.txt和favicon.ico文件,例如: location = /robots.txt { log_not_found off; }

最后:所有nginx配置发生改变时,最好都使用如下命令测试配置是否错误后再使用 -s reload 重载

# /usr/local/nginx/sbin/nginx –t

说明:

1、# 代表root权限,不用输入

2、以上是nginx的默认安装路径,如果改变了要相应的修改哦,例如 wdcp 的 lanmp 一键安装包 则如需要用如下命令

# /www/wdlinux/nginx/sbin/nginx -s reload

输入后如果提示如下,则表示配置无误:

nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok

nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful

这时再使用重载命令让Nginx平滑的重新加载配置即可,而不会影响正常访问:

# /usr/local/nginx/sbin/nginx -s reload

(0)

相关推荐

  • Ubuntu 11.0下配置Web服务器详细教程[ 图文]

    近日,有消息爆出Linux桌面已经趋于“死亡”,众多Linux爱好者感到失望,但令人可喜的是Linux在服务器领域表现却尤为喜人,据IDC数据显示,部署了Linux系统的服务器占到20%的市场份额。其 ...

  • linux系统的Web服务器集成vsftp的方法

    昨天我们写了一篇《linux下配置web+ftp服务器全教程(一) 》说完了Web服务器的安装全过程,今天我们继续说下在apahce服务器上集成vsftp,以及apache和vsftp虚拟账户的权限配 ...

  • 在Windows下使用XAMPP搭建简易WebDAV服务器的教程

    WebDAV 提供了一个简单的方法来进行文件共享。现在的智能手机如 Nokia N8 支持的远程驱动器功能就是将一个基于 WebDAV 方法的网络存储空间映射为手机上的一个存储器。如果只是想尝尝鲜,可 ...

  • CentOS系统上搭建Git版本控制服务器的教程

    CentOS系统上搭建Git版本控制服务器的教程

  • 在Linux系统下使用Docker以及Weave搭建Nginx反向代理

    Hi, 今天我们将会学习如何使用 Weave 和 Docker 搭建 Nginx 的反向代理/负载均衡服务器.Weave 可以创建一个虚拟网络将 Docker 容器彼此连接在一起,支持跨主机部署及自动 ...

  • 如何在win7系统电脑上搭建Web服务器?

    虽然现在的电脑普遍是win10的操作系统,可是一些小伙伴还是在使用win7的电脑,如果我们想要在电脑上面搭建一个Web服务器应该如何操作呢?今天,小编就教大家在win7系统电脑上搭建Web服务器.具体 ...

  • linux下配置web+ftp服务器全教程(一)

    最近公司上了个服务器,顺便整理下各部门的网站,搞的异常忙碌,今天终于闲下来了整理一下这几天遇到的问题和一些想法,今天首要写的是一篇完整版的教程:linux(fedora、redhat)下配置web+f ...

  • Web服务器搭建_IIS安装教程_本地环境搭建

    最近很多朋友向我咨询,Web服务器搭建,IIS安装教程,本地环境搭建下面就来介绍一下如何在本地搭建Web服务器环境. 操作方法 01 安装开始:因IIS6.0已经安装好,所以就直接安装PHP!1.在本 ...

  • window7系统下配置IIS搭建web服务器的步骤

    window7系统下配置IIS搭建web服务器的步骤 IIS全名Internet Information Services(IIS,互联网信息服务),在之前的在Windows 2000、Windows ...