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关键指令及目录
目录结构
/etc/nginx/:nginx默认安装目录

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

/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

最后在加入一列配置允许访问静态资源服务器中的资源目录
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
结果很完美

Comments (1)
rubiksays:
2023年 3月 1日 at 下午4:081