参考学习视频
Nginx快速入门_哔哩哔哩_bilibili
启动nginx: 必须进入nginx的sbin目录下
//启动nginx
./nginx
// 查看版本
./nginx -v
//检查配置文件
./nginx -t
打开浏览器访问服务器ip+端口,显示nginx默认页即安装成功(如果不显示检查防火墙是否关闭或是否开启对应80端口)
启动完成后,要想正常访问Nginx的80端口 ,需关闭防火墙或开放指定端口号,执行的指令如下:
A. 关闭防火墙
systemctl stop firewalld
B. 开放80端口
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --reload #配置立即生效
环境变量配置
上述在使用nginx命令在进行服务的启动、停止、重新加载时,都需要用到一个指令nginx,而这个指令是在nginx/sbin目录下的,每一次使用这个指令都需要切换到sbin目录才可以,使用相对繁琐。 可通过配置nginx的环境变量,在任意目录下都可以执行该指令来操作nginx 。通过vim编辑器,打开/etc/profile文件, 在PATH环境变量中增加nginx的sbin目录,如下:
修改完配置文件之后,需要执行 source /etc/profile 使文件生效。
查看nginx进程:
ps -ef | grep nginx
或
ps aux|grep nginx
root 13850 1 0 17:01 ? 00:00:00 nginx: master process ./nginx nobody 13851 13850 0 17:01 ? 00:00:00 nginx: worker process root 13879 1128 0 17:11 pts/0 00:00:00 grep --color=auto nginx
强制结束进程命令:
#强制结束进程命令:
kill -9 13850
kill -9 13851
这个进程无所谓: root 13879 1128 0 17:11 pts/0 00:00:00 grep --color=auto nginx
配置文件结构
nginx的配置文件(conf/nginx.conf)整体上分为三部分:
全局块、配置和nginx运行相关的全局配置
events块:配置和网络连接相关的配置
http块 :配置代理、缓存、日志记录、虚拟主机等配置
- main:用于进行nginx全局信息的配置
- events:用于nginx工作模式的配置
- http:用于进行http协议信息的一些配置
- server:用于进行服务器访问信息的配置
- location:用于进行访问路由的配置
- upstream:用于进行负载均衡的配置
在http块中可以包含多个server块,每个server块可以配置多个location块。
部署静态资源
Nginx可以作为静态web服务器来部署静态资源。这里所说的静态资源是指在服务端真实存在,并且能够直接展示的一些文件,比如常见的html页面、css文件、js文件、图片、视频等资源。
将静态资源部署到Nginx非常简单,只需要将文件复制到Nginx安装目录下的html目录中即可。
server { listen 80; #监听端口 server_name localhost; #服务器名称 location / { #匹配客户端请求url /:表示根路径 root html; #指定要访问的静态资源根目录,默认是html文件夹,可以改成自定义的文件夹 index index.html; #指定默认访问的首页,可以改成自定义的xxx.html } }
将静态资源上传到 /usr/local/nginx/html 目录
修改配置文件nginx.conf
.进入/usr/local/nginx/conf下找到nginx.conf 使用vim修改配置文件 vim nginx.conf 输入模式 在命令模式下按下i或a,o就进入了输入模式,可以对文件进行增删改查操作。当按下ESC就退出了输入模式,进入到命令模式。
底线命令模式 在命令模式下按下:就进入到了底线命令模式,按ESC可以随时退出底线命令模式,进入到命令模式。
按下q,退出文件。
按下w,保存文件。
按下wq,保存文件并退出。
按下q!,强制退出文件。
按下wq!,保存文件并强制退出。
配置文件修改后,需要重新加载一下,才可以生效 :nginx -s reload
反向代理配置
反向代理服务器位于用户与目标服务器之间,但是对于用户而言,反向代理服务器就相当于目标服务器,即用户直接访问反向代理服务器就可以获得目标服务器的资源,反向代理服务器负责将请求转发给目标服务器。用户不需要知道目标服务器的地址,也无须在用户端作任何设定,对于用户来说,访问反向代理服务器是完全无感知的。 在nginx中,我们可以在nginx.conf中配置反向代理:
在http块中,再添加一个server块虚拟主机的配置,监听82端口,并配置反向代理proxy_pass:
server { listen 82; server_name localhost; location / { proxy_pass http://192.168.200.201:8080; #反向代理配置,将请求转发到指定服务 } } //上述配置的含义为: 当我们访问nginx的82端口时,根据反向代理配置, 会将请求转发到 http://192.168.200.201:8080 对应的服务上。
检查配置文件,并重新加载
nginx -t
nginx -s reload
停止和重启nginx:
必须进入到sbin目录下
# ./nginx -s reload #重启
# ./nginx -s stop #关闭