Nginx简单使用
简介
Nginx是高性能的轻量级WEB服务器,由于其提供HTTP代理和反向代理、负载均衡、缓存等一系列重要特性,从而广泛应用于当今的WEB服务之中。
下载
1
| wget http://nginx.org/download/nginx-1.14.0.tar.gz
|
安装
安装第三方库
1 2
| yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel yum -y install pcre-devel
|
安装成功以后可以查看pcre版本: pcre-config —version
解压安装包
1
| tar zxvf nginx-1.14.0.tar.gz
|
1 2
| cd /root/nginx-1.14.0 ./configure --prefix=/usr/local/webserver/nginx
|
这里的 —prefix
选项是指定Nginx的安装路径,这里安装到路径:/usr/local/webserver/nginx
编译安装
1 2
| cd /root/nginx-1.14.0 make && make install
|
查看Nginx版本
1 2
| /usr/local/webserver/nginx/sbin/nginx -v nginx version: nginx/1.14.0
|
查看安装后的目录结构
总共有四个目录:conf
、html
、logs
、sbin
启动Nginx
1
| /usr/local/webserver/nginx/sbin/nginx
|
访问主机IP出现以下页面就说明成功了
常用指令
测试nginx测试文件是否正确
1
| /usr/local/webserver/nginx/sbin/nginx -t
|
指定配置文件启动
1
| /usr/local/webserver/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
|
重启
1 2
| /usr/local/webserver/nginx/sbin/nginx -s reload # 重新载入配置文件 /usr/local/webserver/nginx/sbin/nginx -s reopen #重启 Nginx
|
停止
1
| /usr/local/webserver/nginx/sbin/nginx -s stop # 停止 Nginx
|
配置文件nginx.conf
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69
| // 全局配置 user nobody nobody; worker_processes 3; error_log logs/error.log; pid logs/nginx.pid;
// events块配置 events { use epoll; worker_connections 1024; }
// 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; keepalive_timeout 65;
// 虚拟主机1:基于域名codesheep.com server { listen 8088; server_name codesheep;
access_log /codesheep/webserver/server1/log/access.log; error_page 404 /404.html;
location /server1/location1 { root /codesheep/webserver; index index.server1-location1.htm; }
location /server1/location2 { root /codesheep/webserver; index index.server1-location2.htm; }
}
// 虚拟主机2:基于IP地址:192.168.31.177 server { listen 8089; server_name 192.168.31.177;
access_log /codesheep/webserver/server2/log/access.log; error_page 404 /404.html;
location /server2/location1 { root /codesheep/webserver; index index.server2-location1.htm; }
location /srv2/loc2 { alias /codesheep/webserver/server2/location2/; index index.server2-location2.htm; }
location = /404.html { root /codesheep/webserver/; index 404.html; } } }
|
很明显,在上述配置文件中配置了两个虚拟主机:一个 基于域名 、 一个基于IP地址
为了验证该配置的正确性,我们对照此配置,构建一个与其对应的静态站点,其目录结构如下:
1 2 3 4 5 6 7 8 9 10 11 12
| /codesheep/webserver 404.html server1 location1 index.server1-location1.htm location2 index.server1-location2.htm server2 location1 index.server2-location1.htm location2 index.server2-location2.htm
|
现在可以启动Nginx服务器,并在浏览器中进行测试
测试站点的访问
通过域名访问Server1的Location1和Location2
成功说明配置文件中虚拟主机1配置生效!
域名可以通过本地DNS服务器来解析识别
再访问Server2的Location1和Location2
成功说明配置文件中虚拟主机2配置生效!