安装之前先安装一些依赖包
yum -y install gcc pcre-devel zlib-devel openssl openssl-devel
去官网下载一个版本Nginx
把我下载的是 nginx-1.16.1.tar.gz
先把它上传到Linux中去,上传到一个自己知道的文件夹,然后进入这个文件夹,进行解压
[root@iZbp1h09ipy0b1t88cquonZ application]# ls
apache-tomcat-8.5.76.tar.gz jdk-8u321-linux-x64.tar.gz nginx-1.16.1.tar.gz redis-3.0.0.tar.gz
[root@iZbp1h09ipy0b1t88cquonZ application]# tar -zxvf nginx-1.16.1.tar.gz
这个命令可以解压到当前文件,然后在 /usr/local 下面建一个文件夹叫 nginx 等下就安装到这个文件夹中去。
先cd 进入到刚刚nginx-1.16.1.tar.gz安装包解压的路径里去,再执行
[root@iZbp1h09ipy0b1t88cquonZ nginx-1.16.1]# ./configure --prefix=/usr/local/nginx
然后执行进行编译和安装
[root@iZbp1h09ipy0b1t88cquonZ nginx-1.16.1]# make && make install
这时候就安装好了,进入刚刚的安装目录去看一下
[root@iZbp1h09ipy0b1t88cquonZ nginx-1.16.1]# cd /usr/local/nginx
[root@iZbp1h09ipy0b1t88cquonZ nginx]# ls
conf html logs sbin
目录结构:
conf/nginx.conf nginx配置文件
html 存放静态文件(html,css,js等)
logs 日志目录
sbin/nginx 二进制文件,用于启动,停止nginx服务
基础常用命令:
如果你执行下面命令失效的话:三步解决
vim /etc/profile
然后按 i 键编辑,在最后export那里重启一行加入
export PATH=$PATH:/usr/local/nginx/sbin
这里比如你已经有jdk的path了 :跟上其他路径就行了
export PATH=$PATH:${JAVA_PATH}:/usr/local/nginx/sbin
修改完成后按 Esc 后 输入:wq!回车,保存。
重新加载配置
source /etc/profile
查看版本号:nginx -v
检查配置文件的正确性:nginx -t
启动服务:nginx
停止服务:nginx -s stop
启动完成后查看nginx进程:ps -ef | grep nginx
重新加载配置文件:nginx -s reload
启动过后,这时候你就可以去浏览器访问一下,默认是80端口
配置文件的结构:
- 全局快 和nginx运行相关的全局配置
- events块 和网络连接相关的配置
- http块 代理,缓存,日志记录,虚拟主机配置
注意:http块中可以配置多个Server块,每个Server块中可以配置多个location块。
Nginx具体应用:
- 部署静态资源
Nginx可以作为静态web服务器来部署静态资源。静态资源指在服务端真实存在并且能够直接展示的一些文件,比如常见的html页面、css文件、js文件、图片、视频等资源。
相对于Tomcat,Nginx处理静态资源的能力更加高效,所以在生产环境下,一般都会将静态资源部署到Nginx中。将静态资源部署到Nginx非常简单,只需要将文件复制到Nginx安装目录下的html目录中即可。(报403的改下权限,运行下:chmod 777 hello.html)
- 反向代理
正向和反向 区别 是客户端知不知道代理
- 负载均衡
早期的网站流量和业务功能都比较简单,单台服务器就可以满足基本需求,但是随着互联网的发展业务流量越来越大并且业务逻辑也越来越复杂,单台服务器的性能及单点故障问题就凸显出来了,因此需要多台服务器组成应用集群,进行性能的水平扩展以及避免单点故障出现。
具体怎么转发里面有个负载均衡算法,默认的是轮询