nginx 的安装

 

下载地址: http://nginx.org/download/nginx-1.4.2.tar.gz

安装准备: nginx依赖于pcre,要先安装pcre

yum install pcre pcre-devel

 cd /usr/local/src/

 wget http://nginx.org/download/nginx-1.4.2.tar.gz

tar zxvf nginx-1.4.2.tar.gz

cd nginx-1.4.2

./configure --prefix=/usr/local/nginx

make && make install

 

启动:

cd /ulsr/local/nginx, 看到如下4个目录

./

 ....conf 配置文件  

 ... html 网页文件

 ...logs  日志文件 

 ...sbin  主要二进制程序

 

[root@localhost nginx]# ./sbin/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] still could not bind()

 

不能绑定80端口,80端口已经被占用

(有时是自己装了apache,nginx,还有更多情况是操作系统自带了apache并作为服务启动)

解决: 把占用80端口的软件或服务关闭即可.image.png





Nginx配置段

 

// 全局区
worker_processes 1; // 1个工作的子进程,可以自行修改,但太大无益,因为要争夺CPU,一般设置为 CPU*核数

 

Event {

// 一般是配置nginx连接的特性

// 1word能同时允许多少连接

 worker_connections  1024; // 这是指 一个子进程最大允许连1024个连接

}

 

http {  //这是配置http服务器的主要段

     Server1 { // 这是虚拟主机段

            Location {  //定位,把特殊的路径或文件再次定位 ,image目录单独处理

            }             /// .php单独处理

     }

     Server2 {

     }

}

 

例子1: 基于域名的虚拟主机

 

    server {

        listen 80;  #监听端口

        server_name a.com; #监听域名

        location / {

                root /var/www/a.com;   #根目录定位

                index index.html;

        }

    }

 

例子2: 基于端口的虚拟主机配置

 

    server {

        listen 8080;

        server_name 192.168.1.204;   #(ifconfig查看linux的ip)

        location / {

                root /var/www/html8080;

                index index.html;

        }

    }


例子3: 基于localhost的虚拟主机配置(访问者通过该服务器ip来访问nginx服务器)

 

    server {

        listen 8080;

        server_name localhost

        location / {

                root /var/www/html8080;

                index index.html;

        }

    }


image.png