环境:所使用的系统为win10自带的ubuntu系统,所操作的nginx的版本为1.4.2,并且nginx所需的环境已经下载完毕。

下载和安装

下载
wget http://nginx.org/download/nginx-1.4.2.tar.gz #下载安装包
tar -zxvf nginx-1.4.2.tar.gz #进行解压
安装
./configure --prefix=/usr/local/nginx #配置安装目录
make && make install #进行安装

注:安装目录为/usr/local/nginx

安装成功之后会显示下边四个文件夹
conf  #配置文件所放的位置
html   #html文件
logs   #日志文件
sbin #主要二进制程序

启动

./sbin/nginx
ps -ef | grep nginx

注:如果启动失败显示80端口被占用无法启动,那么可能是因为80端口被http或者其他服务占据,杀死这个进程然后重新启动即可。

ubunt 安装nginx ubuntu nginx安装配置_nginx

配置文件修改

注:每次重写配置文件之后,都需要重启nginx服务器,重启的命令有两种,一种是使用信号,信号需要配置进程号进行使用,另一种使用正常命令

kill -HUP  `cat /usr/local/nginx/logs/nginx.pid`  #pid文件获取进程号,然后使用信号进行重启

配置文件粗解

worker_processes 1;  # 有1个工作的子进程,可以自己设置

Event {   # 一般是配置nginx连接的特性
 worker_connections  1024; // 这是指 一个子进程最大允许连1024个连接
}

http { 
     Server1 {  #服务器配置
            Location {  #定位,将请求的路径特殊处理
            
            }             

     }

     Server2 {
     }
}
例子1: 基于域名的虚拟主机
server {
        listen 80;  #监听端口
        server_name localhost; #监听域名

        location / {
                root /var/www/a.com;   #根目录定位
                index index.html; #对应哪些html
        }
        location index {
            root /usr/local/nginx/html/index;
            index  index.html index.htm;
        }
    }
    kill -HUP  `cat /usr/local/nginx/logs/nginx.pid` #平滑重启nginx服务

注:基于域名的配置,除了修改配置文件之外,还要修改C:\Windows\System32\drivers\etc下的hosts文件,需要在下边加上127.0.0.1 a.com(windows系统)

linux系统则需要vi /etc/hosts ,加上127.0.0.1 www.a.com

ubunt 安装nginx ubuntu nginx安装配置_html_02

例子2: 基于端口的虚拟主机配置
server {
        listen 8080;
        server_name localhost;

        location / {   #匹配策略 /代表默认 还有其他的匹配模式
                root /var/www/html;
                index index.html;
        }
        
        location index {
            root /usr/local/nginx/html/index;
            index  index.html index.htm;
        }
    }
        kill -HUP  `cat /usr/local/nginx/logs/nginx.pid` #平滑重启nginx服务

ubunt 安装nginx ubuntu nginx安装配置_nginx_03

日志管理

日志主要记录了来自哪些ip访问了这个服务器,以及时间和访问方式和其他的,默认的日志格式为main格式,在注释中写着,你也可以自己定义格式。

# access_log  logs/host.access.log  main;
# 这说明 该server, 它的访问日志的文件是  logs/host.access.log 
# 使用的格式”main”格式.
# 除了main格式,你可以自定义其他格式.

main格式介绍

log_format  main  
'$remote_addr  #远程IP   
$remote_user  #远程用户
[$time_local]  #本地时间
"$request" '  #请求方法(如GET/POST)
'$status  #状态码 200或者404
$body_bytes_sent  #请求体body长度
"$http_referer" '  #referer来源信息
'"$http_user_agent"  #用户代理/蜘蛛
"$http_x_forwarded_for"'  #在经过代理时,代理把你的本来IP加在此头信息中,传输你的原始IP,相当于本来来源于哪个网站

配置文件打开日志

access_log  logs/host.access.log  main; #打开日志文件功能,放在logs下边的host.access.log下边,格式为main