栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

Nginx服务器开箱体验

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Nginx服务器开箱体验


概述

Nginx是高性能的轻量级WEB服务器,由于其提供HTTP代理和反向代理、负载均衡、缓存等一系列重要特性,从而广泛应用于当今的WEB服务之中,学习其很有必要。笔者也是从一个初学者开始学习并记录,希望后续渐渐深入。

对了,为什么不用Docker来启动Nginx呢?因为不想啊!


实验环境
  • CentOS 7.4 64Bit
  • Nginx 1.14.0 稳定版

下载Nginx
wget http://nginx.org/download/nginx-1.14.0.tar.gz

安装Nginx
  • 安装第三方库
yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel
yum -y install pcre-devel

安装成功以后可以查看pcre版本: pcre-config —version

  • 解压安装包
tar zxvf nginx-1.14.0.tar.gz
  • 从configure脚本自动生成Makefile
cd /root/nginx-1.14.0
./configure --prefix=/usr/local/webserver/nginx

这里的 —prefix 选项是指定Nginx的安装路径,这里我是指定安装到路径:/usr/local/webserver/nginx

  • 编译安装
cd /root/nginx-1.14.0
make && make install

编译安装过程如下,直到完成

  • 查看Nginx版本
/usr/local/webserver/nginx/sbin/nginx -v

  • 查看安装后的目录

总共四个目录:conf、html、logs、sbin


启动Nginx
/usr/local/webserver/nginx/sbin/nginx

浏览器访问Nginx成功(注意:由于我的机子上80端口被占用了,因此我将Nginx起在81端口上了):


常用指令
  • 测试nginx测试文件是否正确
/usr/local/webserver/nginx/sbin/nginx -t
  • 指定配置文件启动
/usr/local/webserver/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
  • 重启nginx
/usr/local/webserver/nginx/sbin/nginx -s reload     # 重新载入配置文件
/usr/local/webserver/nginx/sbin/nginx -s reopen   #重启 Nginx
  • 停止nginx
/usr/local/webserver/nginx/sbin/nginx -s stop# 停止 Nginx

Nginx服务器配置实例与实验

准备配置文件 nginx.conf 如下:

// 全局配置
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 {
 listen8088;
 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 {
 listen8089;
 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地址

为了验证该配置的正确性,我们对照此配置,构建一个与其对应的静态站点,其目录结构如下:

现在可以启动Nginx服务器,并在浏览器中进行测试

  • 测试站点server1的访问

这就说明配置文件中虚拟主机1配置生效!

注意:这里域名www.codesheep.com之所以能被解析识别,是因为本地配置了DNS服务器!

  • 测试站点server2的访问

这就说明配置文件中虚拟主机2配置生效!


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/232863.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号