CentOS 7.5 环境下搭建 Nginx 静态服务器环境以及常用配置

Nginx 服务器配置

  • CentOS 7.5 环境下安装 Nginx
      • 一、下载 Nginx
        • 1.1 安装包安装 Nginx
        • 1.2 包管理工(yum)具直接安装 Nginx
      • 二、进入安装目录,修改服务器配置
      • 三、Nginx 命令操作
      • 四、nginx 配置 https 服务
        • 4.1 为你的服务器申请 https 证书
        • 4.2 打开 linux 服务器中 nginx 的目录下
        • 4.3 文件上传了之后,回到终端
        • 4.4 http 强制转换 https
      • 五、Nginx 反向代理配置 (2020 5 24 更新)

CentOS 7.5 环境下安装 Nginx

记录 Linxu 云服务器各种环境部署的点点滴滴~

一、下载 Nginx

1.1 安装包安装 Nginx

下载 Nginx

安装步骤自行百度即可,比如菜鸟教程跟着步骤一步一步走,但是相对麻烦

1.2 包管理工(yum)具直接安装 Nginx

  1. 安装
    yum install nginx

  2. 使用命令
    nginx # 启动

  3. 使用平台的公网 ip 即可看看是否有界面,有的话就安装成功

它会默认产生界面,如果你想要它显示指定产生的网站,需要手动配置

二、进入安装目录,修改服务器配置

  1. 进入目录
    cd /etc/nginx

  2. 打开 nginx.conf 的配置文件 和 nginx.conf.default,改一下网页显示的默认路径即可

vim nginx.conf # 要配置的第一个文件

vim nginx.conf.default

# 然后输入 i,表示插入模式,之后的往下看
  1. 或者将如下两个文件拖至本地
    CentOS 7.5 环境下搭建 Nginx 静态服务器环境以及常用配置_第1张图片

  2. 找到 Server 一项

CentOS 7.5 环境下搭建 Nginx 静态服务器环境以及常用配置_第2张图片

  1. 为了保险起见,两个文件都稍微配置一下即可

  2. 比如我的静态 html 文件放在 root 目录里

`我就可以填写 root:  /root/html`  # 这里一定要填写目录,建议写 `绝对路径`  

 index: index.html   # 这里填写你要第一展示的页面,最好一个都不要改
  1. 我的目录结构如下
    CentOS 7.5 环境下搭建 Nginx 静态服务器环境以及常用配置_第3张图片

  2. 然后重启 Nginx
    nginx -s reload

  3. 大功告成,成功看到了我自己编写的界面
    CentOS 7.5 环境下搭建 Nginx 静态服务器环境以及常用配置_第4张图片

三、Nginx 命令操作

  1. 服务器重启命令
    nginx -s reload

  2. 启动服务器
    nginx

  3. 其他的服务遇到了再添加8,哈哈哈

四、nginx 配置 https 服务

nginx 配置 https 服务参考

4.1 为你的服务器申请 https 证书

我的服务器是在 腾讯云购买的,所以就可以直接在腾讯云申请的,所以我自然是在 腾讯云下申请的免费 https 的证书。申请好了下载下来是这样的

CentOS 7.5 环境下搭建 Nginx 静态服务器环境以及常用配置_第5张图片
点开 nginx ,这两个文件等会要通过 xftp 上传上去的
在这里插入图片描述

4.2 打开 linux 服务器中 nginx 的目录下

一般是通过 yum 或者 apt-sudo 安装的 nginx 的目录会在 /etc/nginx 中,然后打开我们的 ftp 工具,进入到 /etc/nginx 目录下,将上面的 两个文件上传上去

CentOS 7.5 环境下搭建 Nginx 静态服务器环境以及常用配置_第6张图片

4.3 文件上传了之后,回到终端

  1. 输入 vim nginx.conf
  2. 然后输入 i ,进入文本插入模式
  3. 把 端口为 443 部分的配置全部打开

CentOS 7.5 环境下搭建 Nginx 静态服务器环境以及常用配置_第7张图片
4. 改完这些配置之后,按下 esc
5. 然后输入 :wq 表示退出并保存,然后按下回车即可
6. 然后我们重启 nginx : nginx -s reload
7. 然后访问我们的服务器
在这里插入图片描述
成功了!!!

4.4 http 强制转换 https

CentOS 7.5 环境下搭建 Nginx 静态服务器环境以及常用配置_第8张图片
之前在群里资讯过大佬。大佬说,http 转 https 不建议使这样处理,应该重写
CentOS 7.5 环境下搭建 Nginx 静态服务器环境以及常用配置_第9张图片

rewrite ^(.*)$  https://$host$1 permanent;

五、Nginx 反向代理配置 (2020 5 24 更新)

反向代理是这个什么东西,网上有很多科普,大家可以简单了解一下即可。

以我个人的理解来说

就是把其他端口或者服务器的服务反向代理至某个特定的端口,这样的话,别人就感觉不到这其实是其他地方地方提供的一个服务,这么说可能不是很好理解。

就以我搭建的项目来说,我在服务器上 127.0.0.1:2999 处开启另一个 http 服务,也就说,这个服务我可以在外网以 www.xxxx.xxx:2999 直接访问。但是我不希望别人通过端口访问我的项目,我可以让别人通过路径访问我特定的项目,我就可以在 nginx.conf 做如下配置

  1. 添加指定的服务,并配置服务地址
    我们定义的服务名称为 node_server, 它代表的就是 127.0.0.1:3030 上的服务
	# 这个服务要写在 nginx.conf 的 server 外面
	upstream node_server {
     
        server 127.0.0.1:3030;
    }
  1. 反向代理服务
    我们在 server 路径下,配置 location,用来指定我们服务的访问路径的
		# 配置要访问的路径
       	location /shop/ {
     
        	proxy_pass http://node_server/; # 配置代理的服务
        	# 一般情况不用加下面的,如果你的项目是前后端分离的,就要加下面的这些
        	proxy_read_timeout 600s;
            proxy_set_header  X-Real-IP  $remote_addr;
            proxy_set_header Host $host:$server_port;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            #解决https请求http资源不可用的情况
            add_header Content-Security-Policy upgrade-insecure-requests;
            # expires定义用户浏览器缓存的时间为1天,如果静态页面不常更新,可以设置更长,这样可以节省带宽和缓解服务器的压力
            expires      30d;
            # 指定项目资源路径
             root   /home/node/vue_shop_server/dist;
             index  index.html index.htm;
            # try_files $uri $uri/ /index.html =404;
        }

        # 解决代理的资源无法访问的情况
         location ~ .*\.(js|css|img|png|jpg)$ {
     
             proxy_pass http://127.0.0.1:3030;
         }

你可能感兴趣的:(Linux,nginx)