安装Nginx与运行

 

1. 去官网http://nginx.org/下载对应的nginx包,推荐使用稳定版本

2. 上传nginx到linux系统

3. 安装依赖环境

  • 安装gcc环境

  yum install gcc-c++

  • 安装PCRE库,用于解析正则表达式

  yum install -y pcre pcre-devel

  • zlib压缩和解压缩依赖

  yum install -y zlib zlib-devel

  • SSL 安全的加密的套接字协议层,用于HTTP安全传输,也就是https

  yum install -y openssl openssl-devel

4. 解压,需要注意,解压后得到的是源码,源码需要编译后才能安装

cd /home/software  上传到这个目录,然后在这里解压

tar -zxvf nginx-1.16.1.tar.gz

5. 编译之前,先创建nginx临时目录,如果不创建,在启动nginx的过程中会报错

mkdir /var/temp/nginx -p

6. 在nginx目录,输入如下命令进行配置,目的是为了创建makefile文件

./configure \
--prefix=/usr/local/nginx \
--conf-path=/usr/local/nginx/conf/nginx.conf \
--pid-path=/var/run/nginx/nginx.pid \
--lock-path=/var/lock/nginx.lock \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--with-http_gzip_static_module \
--http-client-body-temp-path=/var/temp/nginx/client \
--http-proxy-temp-path=/var/temp/nginx/proxy \
--http-fastcgi-temp-path=/var/temp/nginx/fastcgi \
--http-uwsgi-temp-path=/var/temp/nginx/uwsgi \
--http-scgi-temp-path=/var/temp/nginx/scgi

注: \ 代表在命令行中换行,用于提高可读性

配置命令:

 

 

 7. make编译 (在减压的目录执行: /home/software/nginx-1.16.1)

make

8. 安装

make install

9. 进入sbin目录启动nginx

cd /var/log/nginx

cd sbin

启动

./nginx

停止:./nginx -s stop

重新加载:./nginx -s reload

检测配置文件是否成功: ../sbin/nginx -t

successful 表示成功

10. 打开浏览器,访问虚拟机所处内网ip即可打开nginx默认页面,显示如下便表示安装成功:

 

 

注意事项:

1. 如果在云服务器安装,需要开启默认的nginx端口:80

2. 如果在虚拟机安装,需要关闭防火墙

关闭防火墙:

systemctl stop firewalld.service

禁用

systemctl disable firewalld.service

查看状态: systemctl status firewalld.service

3. 本地win或mac需要关闭防火墙

 

 nginx.conf 配置结构

main 全局配置

event 配置工作模式以及连接数

http http模块相关配置

server 虚拟主机配置,可以有多个

location 路由规则,表达式

upstream 集群,内网服务器

 

location 的匹配规则
空格 :默认匹配,普通匹配
location / {
root /home;
}
= :精确匹配
location = /imooc/img/face1.png {
root /home;
}
~* :匹配正则表达式,不区分大小写
#符合图片的显示
location ~ \.(GIF|jpg|png|jpeg) {
root /home;
}
~ :匹配正则表达式,区分大小写
#GIF必须大写才能匹配到
location ~ \.(GIF|jpg|png|jpeg) {
root /home;
}
^~ :以某个字符路径开头
location ^~ /imooc/img {
root /home;
}

 

#Nginx 跨域配置支持
#允许跨域请求的域,*代表所有
add_header 'Access-Control-Allow-Origin' *;
#允许带上cookie请求
add_header 'Access-Control-Allow-Credentials' 'true';
#允许请求的方法,比如 GET/POST/PUT/DELETE
add_header 'Access-Control-Allow-Methods' *;
#允许请求的header
add_header 'Access-Control-Allow-Headers' *;

 

 

#Nginx 防盗链配置支持
#对源站点验证
valid_referers *.imooc.com;
#非法引入会进入下方判断
if ($invalid_referer) {
return 404;
}

 

#upStream 指令参数 max_conns weight 

限制每台server的连接数,用于保护避免过载,可起到限流作用.

测试参考配置如下:

# worker进程设置1个,便于测试观察成功的连接数

worker_processes 1;

upstream tomcats {

  server 192.168.1.173:8080 max_conns=2  weight=1 ;

  server 192.168.1.174:8080 max_conns=2  weight=2 ;

  server 192.168.1.175:8080 max_conns=2  weight=4 ;

}

# max_conns 最大连接数

# weight 权重,数值越大优先级越高

# slow_start 权重启动时间

# down 禁用

# backup 备份,备用机

# max_fails 最大失败次数,到达最大值屏蔽

# fail_time 失败时间,

 

server {

  listen 80;

  server_name www.tomcats.com;

  

  location / {

    proxy_pass http://tomcats;

  }

}

 

Nginx的缓存
1. 浏览器缓存:
加速用户访问,提升单个用户(浏览器访问者)体验,缓存在本地
2. Nginx缓存
缓存在nginx端,提升所有访问到nginx这一端的用户
提升访问上游(upstream)服务器的速度
用户访问仍然会产生请求流量
控制浏览器缓存:
location /files {
 alias /home/imooc;
 # expires 10s;
 # expires @22h30m;
 # expires -1h;
 # expires epoch;
 # expires off;
 expires max;
}

 

posted @ 2021-07-27 10:43  泡沫幻影  阅读(410)  评论(0编辑  收藏  举报