spice and wolfspice and wolf Be the One you wanna Be

nginx基础篇

nginx在国内的应用越来越广泛,作为服务器产品,它拥有众多迷人的特性,比如流量管理、负载均衡、用户认证和安全管理等,基于这些特性,它能满足复杂的网络管理需求,所以不管是运维还是开发人员,在搭建开发或生产环境时,nginx都是一个很棒的选择,因此在学会后一定会让人感觉特别的棒。

Nginx安装

以centos为例:

创建/etc/yum.repos.d/nginx.repo,并编辑如下内容

[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
gpgcheck=0
enabled=1

之后执行安装指令如下(默认安装的是最新版本,如果需要下载执行版本可以参考这篇博文

# 安装nginx
yum -y install nginx
# 设置nginx服务开机自启动
systemctl enable nginx
# 启动nginx服务
systemctl start nginx
# 开启80端口允许TCP交互
firewall -cmd --permanent --zone=public --add-port=80/tcp
# 重启防火墙,让防火墙设置生效
firewall -cmd --reload

上面指令默认安装的是最新版本

在安装完成后,我们需要验证安装是否成功

# 查看版本
nginx -v
# 查看服务是否成功启动
systemctl status nginx
# 查看nginx的进程状态
ps -ef | grep nginx

查看nginx的进程状态时(如下图),nginx的master进程是需要root权限的,这点需要注意

nginx进程

nginx关键指令及目录

目录结构

/etc/nginx/:nginx默认安装目录

nginx目录结构

nginx.conf:主配置文件,包括线程、日志、负载等的全局配置,还包括顶级http区块配置并指向其他配置文件。
conf.d:此目录下放默认配置的配置文件,并能放自定义配置文件

nginx日志目录

/var/log/nginx/:默认的日志目录

nginx常用指令

# 帮助指令
nginx -h
# 版本信息
nginx -v
# 包括编译信息和配置参数的版本信息
nginx -V
# 配置文件测试
nginx -t
# 配置文件测试,并显示有效配置
nginx -T
# 向nginx主线程发送指令,signal包括stop, quit, reload, reopen
nginx -s signal

值得注意的是,使用nginx -s reload指令可以实现nginx配置的热更新

nginx基础服务搭建

nginx服务器用途广泛,最广为人知的几个用途有静态资源服务器,Web服务器、负载均衡服务器、反向代理服务器等,接下来我们将介绍这些基础服务器的搭建方法。

静态资源服务器

配置/etc/nginx/conf.d/default.conf文件

server {
    listen 80 default_server;
    server_name localhost 192.168.1.5;

    location / {
        root /server/nginx/html;
        index index.html index.htm;
    }
}

default_server指令让这个server作为80端口的默认上下文。如果不加的话,会让HTTP的host请求头(如下图,为HTTP1.1后加入的请求头)去匹配server_name,只有在匹配上的情况下才会让请求继续走当前服务。

创建静态资源文件目录,赋予权限

cd /
mkdir server
cd /server/
mv /usr/share/nginx/ /server/
# 给文件夹访问权限
chmod -R 777 /server/

修改nginx配置文件user属性为启动用户

vi /etc/nginx/nginx.conf
修改nginx.conf中的user属性

最后在加入一列配置允许访问静态资源服务器中的资源目录

server {
    listen 80 default_server;
    server_name localhost 192.168.1.5;

    location / {
        root /server/nginx/html;
        autoindex on;
        index index.html index.htm;
    }
}

大功告成,热更新nginx服务器即可

nginx -s reload

结果很完美

nginx静态资源服务器

Comments (1)

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

Press ESC to close