1.安装Nginx前的准备
2.安装Nginx
(1) 从官网下载最新稳定版的nginx
(2) 解压输入:
(3) 使用默认配置
(4)编译安装输入:
(5) 查看nginx的位置输入:
3.Nginx的启动和关闭
(1)检查配置文件是否正确,输入:
(2)进入nginx目录,查看其版本
(3)启动Nginx(默认配置文件)
(4)浏览器访问
(5)常用命令
4. 配置Nginx
设置安全组
配置域名解析
配置nginx反向代理
nginx 配置负载均衡
1.安装Nginx前的准备
由于nginx的一些模块依赖一些lib库,所以在安装nginx之前,必须先安装这些lib库,主要有g++、gcc、openssl-devel、pcre-devel和zlib-devel 。
所以执行如下命令安装
# yum install gcc-g++
# yum install pcre pcre-devel
# yum install zlib zlib-devel
# yum install openssl openssl-devel
2.安装Nginx (1) 从官网下载最新稳定版的nginx
官网地址:http://nginx.org/en/download.html
wget http://nginx.org/download/nginx-1.16.1.tar.gz
(2) 解压输入:tar -zxvf nginx-1.16.1.tar.gz(3) 使用默认配置cd nginx-1.16.1(4)编译安装输入:
./configuremake && make install(5) 查看nginx的位置输入:whereis nginx3.Nginx的启动和关闭 (1)检查配置文件是否正确,输入:/usr/local/nginx/sbin/nginx -t(2)进入nginx目录,查看其版本cd /usr/local/nginx(3)启动Nginx(默认配置文件)
./sbin/nginx -V./sbin/nginx(4)浏览器访问
在浏览器中输入服务器的ip地址,出现如下界面说明nginx安装启动
112.124.1.142
(5)常用命令
(在nginx目录下进行的操作 cd /usr/local/nginx/sbin )
nginx 启动nginx (例:启动输入:./nginx)
nginx -s stop 快速关闭nginx,可能不保存相关信息,并迅速中止web服务
nginx -s quit 平稳关闭nginx,保存相关信息,有安排的结束web服务
nginx -s reload 重启
nginx -s reopen 重新打开日志文件
nginx -c filename 为nginx指定一个配置文件
nginx -t 不运行,仅仅测试配置文件(检查配置文件语法的正确性,打开配置文件引用到的文件)
nginx -V 显示版本
输入:
vim /usr/local/nginx/conf/nginx.conf
打开配置文件。
在配置文件中加入这样一段配置
server{设置安全组配置域名解析配置nginx反向代理
listen 7777; #nginx所监听的ip与端口号
server_name 59.110.139.77; # 服务名
charset utf-8; #编码格式
location /{
index index.html index.htm; #默认页
root htmls; #根目录
proxy_pass http://127.0.0.1:8081; 这里就是重点了,反向代理到后端8081端口
下面这几句是传递真实IP到后端服务
proxy_set_header X-Real-IP $remote_addr;
升级连接成为websocket连接 , 支持websocket
proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_set_header Origin "";
server{
listen 80;
server_name gofly.sopans.com;
#access_log /var/log/nginx/gofly.sopans.com.access.log main;
#location /static {
#root /var/www/html/go-fly;//自己的部署路径,静态文件直接nginx响应
location / {
proxy_pass http://127.0.0.1:8081;
proxy_http_version 1.1;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Origin "";
server {
listen 80;
server_name www.aijava.top;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root html;
index index.html index.htm;
############
# proxy_read_timeout 1200;
# proxy_send_timeout 1200;
# proxy_connect_timeout 1200;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
# proxy_redirect off;
proxy_pass http://127.0.0.1:28083;
server {
listen 80;
server_name 192.168.1.1; #设置为ip地址
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
proxy_read_timeout 1200;
proxy_send_timeout 1200;
proxy_connect_timeout 1200;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_pass http://192.168.1.1/;
}
}nginx 配置负载均衡
负载均衡也是Nginx常用的一个功能,负载均衡其意思就是分摊到多个操作单元上进行执行,例如Web服务器、FTP服务器、企业关键应用服务器和其它关键任务服务器等,从而共同完成工作任务。
简单而言就是当有2台或以上服务器时,根据规则随机的将请求分发到指定的服务器上处理,负载均衡配置一般都需要同时配置反向代理,通过反向代理跳转到负载均衡。而Nginx目前支持自带3种负载均衡策略,还有2种常用的第三方策略。
upstream test {
server localhost:8080;
server localhost:8081;
server {
listen 81;
server_name localhost;
client_max_body_size 1024M;location / {
proxy_pass http://test;
proxy_set_header Host $host:$server_port;
}
}
默认时不加weight,,指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。
upstream test {
server localhost:8080 weight=9;
server localhost:8081 weight=1;
上面的2种方式都有一个问题,那就是下一个请求来的时候请求可能分发到另外一个服务器,当我们的程序不是无状态的时候(采用了session保存数据),这时候就有一个很大的很问题了,比如把登录信息保存到了session中,那么跳转到另外一台服务器的时候就需要重新登录了,所以很多时候我们需要一个客户只访问一个服务器,那么就需要用iphash了,iphash的每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。
upstream test {
ip_hash;
server localhost:8080;
server localhost:8081;
nginx卸载两步完成。
全局查找nginx相关文件
find / -name nginx*
删除查找出来相关nginx的文件
rm -rf file 此处跟查找出来的nginx文件
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.