Nginx服务器开箱体验

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

profile


概述

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

查看pcre版本

  • 解压安装包
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

查看Nginx版本

  • 查看安装后的目录

总共四个目录:confhtmllogssbin

查看安装后的目录


启动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 {
        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地址

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

站点结构

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

  • 测试站点server1的访问

server1/location1

server1/location2

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

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

  • 测试站点server2的访问

server2/location1

srv2/loc2

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


后记

作者更多的原创文章:在云栖社区

如果有兴趣,可以看看作者一些关于容器化、微服务化方面的文章:


目录
相关文章
|
7天前
|
应用服务中间件 PHP nginx
当你的nginx服务器和php服务器不在一起的时候,这个nginx 的root目录问题
两个服务器的网站代码目录需要对齐,docker容器里面也是一样
|
3月前
|
负载均衡 监控 应用服务中间件
配置Nginx反向代理时如何指定后端服务器的权重?
配置Nginx反向代理时如何指定后端服务器的权重?
238 61
|
2月前
|
弹性计算 负载均衡 网络协议
ECS中实现nginx4层7层负载均衡和ALB/NLB原SLB负载均衡
通过本文的介绍,希望您能深入理解并掌握如何在ECS中实现Nginx四层和七层负载均衡,以及如何使用ALB和NLB进行高效的负载均衡配置,以提高系统的性能和可靠性。
244 9
|
2月前
|
存储 编解码 应用服务中间件
使用Nginx搭建流媒体服务器
本文介绍了流媒体服务器的特性及各种流媒体传输协议的适用场景,并详细阐述了使用 nginx-http-flv-module 扩展Nginx作为流媒体服务器的详细步骤,并提供了在VLC,flv.js,hls.js下的流媒体拉流播放示例。
306 1
|
6月前
|
Ubuntu 应用服务中间件 Linux
在Linux中,如何配置Web服务器(如Apache或Nginx)?
在Linux中,如何配置Web服务器(如Apache或Nginx)?
|
6月前
|
应用服务中间件 Linux 网络安全
在Linux中,如何配置Apache或Nginx Web服务器?
在Linux中,如何配置Apache或Nginx Web服务器?
|
弹性计算 安全 应用服务中间件
ECS动手搭建Nginx
在ECS的centos7上搭建一个Nginx
2115 7
ECS动手搭建Nginx
|
13天前
|
存储 机器学习/深度学习 人工智能
2025年阿里云GPU服务器租用价格、选型策略与应用场景详解
随着AI与高性能计算需求的增长,阿里云提供了多种GPU实例,如NVIDIA V100、A10、T4等,适配不同场景。2025年重点实例中,V100实例GN6v单月3830元起,适合大规模训练;A10实例GN7i单月3213.99元起,适用于混合负载。计费模式有按量付费和包年包月,后者成本更低。针对AI训练、图形渲染及轻量级推理等场景,推荐不同配置以优化成本和性能。阿里云还提供抢占式实例、ESSD云盘等资源优化策略,支持eRDMA网络加速和倚天ARM架构,助力企业在2025年实现智能计算的效率与成本最优平衡。 (该简介为原文内容的高度概括,符合要求的字符限制。)
|
14天前
|
存储 弹性计算 人工智能
2025年阿里云企业云服务器ECS选购与配置全攻略
本文介绍了阿里云服务器的核心配置选择方法论,涵盖算力需求分析、网络与存储设计、地域部署策略三大维度。针对不同业务场景,如初创企业官网和AI模型训练平台,提供了具体配置方案。同时,详细讲解了购买操作指南及长期运维优化建议,帮助用户快速实现业务上云并确保高效运行。访问阿里云官方资源聚合平台可获取更多最新产品动态和技术支持。
|
17天前
|
弹性计算 JavaScript 前端开发
一键安装!阿里云新功能部署Nodejs环境到ECS竟然如此简单!
Node.js 是一种高效的 JavaScript 运行环境,基于 Chrome V8 引擎,支持在服务器端运行 JavaScript 代码。本文介绍如何在阿里云上一键部署 Node.js 环境,无需繁琐配置,轻松上手。前提条件包括 ECS 实例运行中且操作系统为 CentOS、Ubuntu 等。功能特点为一键安装和稳定性好,支持常用 LTS 版本。安装步骤简单:登录阿里云控制台,选择扩展程序管理页面,安装 Node.js 扩展,选择实例和版本,等待创建完成并验证安装成功。通过阿里云的公共扩展,初学者和经验丰富的开发者都能快速进入开发状态,开启高效开发之旅。