- Nginx的安装配置以及常用命令
- 1、Nginx的下载
- 2、Linux下的nginx的安装
- 3、检查nginx安装与配置是否有误
- 4、Nginx命令
- 5、开放nginx的80端口
- 6、配置nginx环境变量
- 7、Nginx设置反向代理
- 8、Nginx的负载均衡
nginx官网 ,要下载压缩包的点击nginx: download ,选择(Stable version或Legacy versions)稳定版本进行下载安装,右键单击要下载的版本,选择复制链接,不建议下载最新版,因为nginx可能有漏洞或者不稳定。
2、Linux下的nginx的安装安装过程
yum install gcc pcre-devel zlib-devel openssl openssl-devel # 安装依赖包 wget http://nginx.org/download/nginx-1.22.0.tar.gz # 也可以在Windows上下载,上传压缩包到Linux上,将刚复制好的链接粘贴到wget 后面 ll # 查看下载的压缩包 tar -zxf nginx-1.22.0.tar.gz #解压压缩包 cd nginx-1.22.0 # 进入nginx路径 mkdir /usr/local/nginx # 创建目录 ./configure --prefix=/usr/local/nginx # 指定安装路径 make && make install # 编译后安装
没有wget使用yum安装wget
yum install wget3、检查nginx安装与配置是否有误
cd /usr/local/nginx # 安装的路径 ll # 查看该目录下的文件或目录详情,应该不为空 cd sbin ./nginx -v # 查看nginx版本号 ./nginx -t # 查看nginx配置是否有误,会显示两行,两行最后是ok和successful就无误
4、Nginx命令
cd /usr/local/nginx/sbin ./nginx # 启动nginx ./nginx -s stop # 停止nginx ps -ef | grep nginx # 查看启动后nginx进程 ./nginx -s reload # 重新加载配置文件
5、开放nginx的80端口
firewall-cmd --zone=public --add-port=80/tcp --permanent #开放80端口,显示success则是开放成功 firewall-cmd --reload # 立即生效,开放端口后可以在主机上输入Linux的ip地址进行访问
6、配置nginx环境变量
vim /etc/profile # 编辑配置文件
在最后一行点击i插入,回车后输入以下配置,按Esc退出插入模式,按:进入底端命令模式,输入wq加回车进行文件保存并退出。
NGINX_HOME=/usr/local/nginx PATH=:$NGINX_HOME/bin:$PATH
source /etc/profile # 重新加载配置文件 nginx -s reload # 测试一下配置文件是否生效
7、Nginx设置反向代理
客户端发送请求到反向代理服务器,反向代理服务器(192.168.64.128)再请求到web服务器(192.168.64.129)
vim /usr/local/nginx/conf/nginx.conf
在http里面点击i插入,回车后输入以下配置,按Esc退出插入模式,按:进入底端命令模式,输入wq加回车进行文件保存并退出。
...
http{
...
# 以下是要添加的配置
server {
# 监听的端口
listen 82;
server_name localhost;
location / {
# 反向代理配置,将请求转发到指定服务
proxy_pass http://192.168.64.129:8080;
}
}
# 以上是要添加的配置
...
}
nginx -s reload # 重新加载配置文件 firewall-cmd --zone=public --add-port=82/tcp --permanent #开放82端口,显示success则是开放成功 firewall-cmd --reload # 立即生效,开放端口后可以在主机上输入Linux的ip地址进行访问
浏览器输入192.168.64.128:82访问,访问成功即反向代理配置成功
8、Nginx的负载均衡
使用nginx作为HTTP负载均衡器
还是修改nginx的配置文件(如何修改见第7点),配置如下:
...
http{
...
# 以下是要添加的配置
# upstream 指令可以定义一组服务器
upstream targetServer{
# 将下一个请求分配给活动连接数最少的服务器
least_conn;
# 这里的IP地址其实可以不一样,不过由于只搭建两台虚拟机才放在同一台虚拟机的不同端口上运行
server 192.168.64.129:8080;
server 192.168.64.129:8081;
}
server {
# 监听的端口
listen 82;
server_name localhost;
location / {
# 反向代理配置,将请求转发到指定服务
proxy_pass http://targetServer;
}
}
# 以上是要添加的配置
...
}
保存完的步骤还是跟设置反向代理一样。
Nginx 支持下列负载平衡机制(或方法) :
| 指令 | 作用 |
|---|---|
| 默认 | 默认,对应用程序服务器的请求以轮循机制方式分发 |
| least_conn | 将下一个请求分配给活动连接数最少的服务器 |
| ip_hash | 哈希函数用于确定应为下一个请求选择的服务器(基于客户端的 IP 地址) |
还有一个weight按照权重,分发请求,不配置默认为1,如下:
# 3:1:1 server srv1.example.com weight=3; server srv2.example.com; server srv3.example.com;



