文章插图
本章作为实战篇,将从实际的命令行出发,通过安装,启动,配置Nginx来逐渐认识和使用Nginx,并能够自己实现一些简单的反向代理,负载均衡的配置 。
不废话,直接上干货 。
01 Nginx安装Nginx的安装还是比较容易的,有离线安装,在线安装多种安装方式,这里我只说最简单的一种,打开我们的命令行终端,直接输入yum命令进行安装
yum install -y nginx当终端显示出Complete!字样时,则代表我们的Nginx已经安装成功了 。
查看Nginx版本:
nginx -v#在这里我安装的是1.16.1版本的nginx02 Nginx基本操作和我们之前的Docker一样,nginx也有一些包括服务的启动,停止,重载等基本操作 。
2.1 启动nginx
##在centos7+ 启动nginx服务systemctl start nginx.service#centos6+ 上启动nginx服务service nginx start#或,简单粗暴一句nginx2.2 停止nginx
##在centos7+ 停止nginx服务systemctl stop nginx.service#centos6+ 上停止nginx服务service nginx stop#粗鲁的停止,下班了,不干了,就算请求来了我也不接了 。nginx -s stop##优雅的停止,Nginx在退出前完成已经接受的连接请求 。nginx -s quit2.3 重启nginx
当我们修改了nginx的某些配置,为了使配置生效,我们往往需要重启nginx,同样的,linux下依然有两种方式来重启我们的nginx服务:
##在centos7+ 重启nginx服务systemctl restart nginx.service#centos6+ 上重启nginx服务service nginx restart#使用nginx命令停止,推荐这个nginx -s reload而具体使用nginx原生的nginx -s 操作还是linux提供的systemctl,这个主要看个人喜好,实际两者的功能是差不多的,并没有什么明显的不同 。
2.4 其他命令
查看配置文件是否ok:
#如果配置文件有问题的话会显示failed,如果没得问题的话,会显示successfulnginx -t2.5 显示帮助信息
nginx -h #或者nginx -?03 Nginx配置nginx本身作为一个完成度非常高的负载均衡框架,和很多成熟的开源框架一样,大多数功能都可以通过修改配置文件来完成,使用者只需要简单修改一下nginx配置文件,便可以非常轻松的实现比如反向代理,负载均衡这些常用的功能,同样的,和其他开源框架比如Tomcat一样,nginx配置文件也遵循着相应的格式规范,并不能一顿乱配,在讲解如何使用nginx实现反向代理,负载均衡等这些功能的配置前,我们需要先了解一下nginx配置文件的结构 。
既然要了解nginx的配置文件,那我总得知道nginx配置文件在哪啊,nginx配置文件默认都放在nginx安装路径下的conf目录,而主配置文件nginx.conf自然也在这里面,我们下面的操作几乎都是对nginx.conf这个配置文件进行修改 。
可是,我怎么知道我nginx装哪了?我要是不知道nginx装哪了咋办?
这个,细心的朋友们可能会发现,运行nginx -t命令,下面除了给出nginx配置文件是否OK外,同时也包括了配置文件的路径 。诺,就是这个
[root@izuf61d3ovm5vx1kknakwrz ~]# nginx -tnginx: the configuration file /etc/nginx/nginx.conf syntax is oknginx: configuration file /etc/nginx/nginx.conf test is successful使用vim打开该配置文件,我们一探究竟,不同版本的配置文件可能稍有不同,我的配置文件内容如下:
# For more information on configuration, see:# * Official English Documentation: http://nginx.org/en/docs/# * Official Russian Documentation: http://nginx.org/ru/docs/user nginx;worker_processes auto;error_log /var/log/nginx/error.log;pid /run/nginx.pid;# Load dynamic modules. See /usr/share/doc/nginx/README.dynamic.include /usr/share/nginx/modules/*.conf;events { worker_connections 1024;}http { 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 /var/log/nginx/access.log main; sendfile on; tcp_nopush on; tcp_nodelay on; keepalive_timeout 65; types_hash_max_size 2048; include /etc/nginx/mime.types; default_type Application/octet-stream; # Load modular configuration files from the /etc/nginx/conf.d directory. # See http://nginx.org/en/docs/ngx_core_module.html#include # for more information. include /etc/nginx/conf.d/*.conf; server { listen 80 default_server; listen [::]:80 default_server; server_name _; root /usr/share/nginx/html; # Load configuration files for the default server block. include /etc/nginx/default.d/*.conf; location / { } error_page 404 /404.html; location = /40x.html { } error_page 500 502 503 504 /50x.html; location = /50x.html { } }}? ? ?这一堆都是啥玩意er,完全没有头绪啊
没关系,下面我们就来详细分析一下nginx.conf这个文件中的内容 。
推荐阅读
- Linux上TCP的几个内核参数调优
- 一次几乎不可能的数据库迁移
- 深入理解 Linux 内核中的 RCU 机制
- 最丑的外星人 外星生物长什么样子
- 三国演义中的真实事件 三国演义真实存在的事件
- 狼的知识点 狼的相关知识
- 6款Windows良心优质软件推荐,需要的自取
- 考古并不是简单的将珍贵文物挖掘出来呈现给世人 孔子看到的不一定是真实的故事
- Google关键字广告文案怎么写?借鉴同行的谷歌广告文案吧
- 如何调用竞争对手的网站流量?查看别人哪些关键字排名最高?