注意:直接yum安装的nginx有问题,不能直接安装,因为centos默认库里面没有nginx。如果安装过程中出现一些文件夹或者文件找不到的话,应该是你的nginx的版本没有安装对。最效率的办法是删除了安装正确的版本。

centos7下使用yum安装nginx并部署angular应用

1.进入root模式

安装过程涉及到文件写入,不废话直接进入root:

su root

2.安装依赖环境

nginx编译依赖gcc环境,其中的http模块使用pcre来解析正则表达式和地址重写等有关功能,nginx还会使用zlib对http包的内容进行gzip,以及支持https需要openssl。所以需要安装这四个:

yum install gcc-c++
yum install pcre pcre-devel
yum install zlib zlib-devel
yum install openssl openssl--devel

3.添加nginx的yum库

nginx并不在centos的默认库中,需要添加:

sudo rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm

4.安装nginx

现在可以安装了:

sudo yum install -y nginx

nginx相关目录及功能

①.yum安装后的nginx目录结构
Nginx配置路径:/etc/nginx/
PID目录:/var/run/nginx.pid
错误日志:/var/log/nginx/error.log
访问日志:/var/log/nginx/access.log
默认站点目录:/usr/share/nginx/html
②.nginx的启动、停止与重启
nginx //启动nginx
nginx -s quit //停止nginx
nginx -s reload //重新载入配置文件

到第四步结束时nginx已经安装完毕,输入nginx启动命令后在浏览器输入本机地址就能看到欢迎页面,从第五步开始是部署angular项目的过程。

5.angular在build完之后会有一个index.html文件,这个文件在dist文件夹里面

我们要把angular build之后的dist文件夹放到上面提到的这个/usr/share/nginx/html站点目录中,然后在/etc/nginx/conf.d这个文件夹中进行配置。

①将dist文件移动到/usr/share/nginx/html中:

cp -r /run/media/zzu/NGX/dist/. /usr/share/nginx/html

②开放文件权限,因为过程中有对/usr/share/nginx/html的写入操作,所以我就直接将该文件夹递归解除所有权限

sudo chmod -R  /usr/share/nginx/html

③然后vim打开nginx配置文件

vi /etc/nginx/conf.d/default.conf

在location里面加入如下语句防止单页应用出现404资源未找到错误:

try_files $uri $uri/ /index.html;

配置的样例如下:

6.如果没有开启防火墙,开启防火墙

开启nginx默认使用的80端口:

firewall-cmd --permanent --zone=public --add-port=/tcp

重启防火墙使改动生效:

firewall-cmd –reload

6.启动nginx服务

开启nginx服务:

sudo systemctl start nginx.service

如果想设置开机启动的话再执行:

sudo systemctl enable nginx.service

7.nginx的卸载

yum remove nginx

关闭端口:

firewall-cmd --permanent --zone=public --remove-port=/tcp

8.为网站加上用户名密码验证

为了实现这个功能首先要安装httpd:

yum –y install httpd

设置用户名和密码,我们直接将加密的文件也放到nginx的默认目录里(后面的“wallee”是我起的用户名):

tpasswd –c /etc/nginx/passwd.db wallee

进入存放密码的文件夹:

cd etc/nginx

查看一下加密后的密码:

cat passwd.db

配置default.conf(同样加在Location部分):

auth_basic “enter you name and password”;
auth_basic_user_file /etc/nginx/passwd.db;

然后重启nginx即可看到效果;

以上大部分内容都是摘抄自https://blog.csdn.net/ren19950410/article/details/81871977,根据我自己的实际情况做了一些删减和改变,如果原作者不同意,请联系我删除相关内容。

centos下安装nginx并部署angular应用的更多相关文章

  1. linux/centos下安装nginx(rpm安装和源码安装)详细步骤

    Centos下安装nginx rpm包                                                                                 ...

  2. CentOS 下 安装 nginx 执行配置命令 ./configure 报错

    CentOS 下 安装 nginx 执行配置命令 ./configure --prefix=/opt/nginx --sbin-path=/usr/bin/nginx 时提示以下错误: checkin ...

  3. CentOS下安装Nginx并添加nginx_upload_module

    安装前,最好能保证依赖的系统软件已经升级.    yum update CentOS上安装Nginx,如果只是简单安装,不附加其他第三方模块,一句话可以搞定:    yum install nginx ...

  4. Centos 下安装 Nginx(新)

    今天重新实践了下 CentOS 7.6 下安装 Nginx,总结了一条更直接并简单的方式 从官方获取写入 nginx.repo 的方式 从官网查看文档,获取 nginx.repo 的文档内容,将其内容 ...

  5. 从零开始学 Java - CentOS 下安装 Nginx

    早上下起了暴雨 闹钟还未响起就听到雨滴哗啦啦击打窗户的声音,被吵醒了.起床上班,在楼下的十字路口,暴雨大到完全看不清对面,两个穿着雨衣的交警站在路口中间指挥着过往的车辆,大家都慌慌张张.急急忙忙的打着 ...

  6. Centos下安装nginx rpm包

    1 在nginx官方网站下载一个rpm包,下载地址是:http://nginx.org/en/download.html wget http://nginx.org/packages/centos/6 ...

  7. centos下安装nginx和php-fpm

    安装这两个花了大约七个小时,简直呵呵,安装nginx就是直接 yum install nginx ,但发现一打开php文件就是直接下载该php文件,也就是不能识别php文件,解决这个花了好久,但其实看 ...

  8. CentOS下安装Nginx服务器

    一.nginx安装环境 nginx是C语言开发,建议在linux上运行,本教程使用Centos7作为安装环境. 1.1  gcc 安装nginx需要先将官网下载的源码进行编译,编译依赖gcc环境,如果 ...

  9. 阿里云centos下安装nginx、jdk、tomcat、绑定域名、解析域名

    1.ESC后安全设置(管理控制台->本实例安全组->配置规则->添加安全组规则->3306.80端口配置) 2.nginx  安装,首先安装三大件  PCRE.zlib.ope ...

随机推荐

  1. .NET Core微服务之开源项目CAP的初步使用

    Tip: 此篇已加入.NET Core微服务基础系列文章索引 一.CAP简介 下面的文字来自CAP的Wiki文档:https://github.com/dotnetcore/CAP/wiki CAP ...

  2. Puppeteer 截图及相关问题

    Puppeteer 是 Headless Chrome 的 Node.js 封装.通过它可方便地对页面进行截图,或者保存成 PDF. 镜像的设置 因为其使用了 Chromium,其源在 Google ...

  3. springboot~maven制作底层公用库

    把一些公用方法,类型抽象到一个项目里,让其它项目依赖它,这种设计是一种解耦的体现,其实像springboot就是我们的一种依赖,他里面有很多子模块,用到哪个就添加哪个依赖即可,像redis,mongo ...

  4. java~springboot~gradle里的docker集成

    在springboot里,我们的task任务可以添加docker构建的功能,在gradle集成环境里,直接可以实现编译,测试,打包镜像的流水线作业,很是方便! 下面分享给大家,在gradle里添加do ...

  5. MySQL via EF6 的试用报告

    1.如何通过 EF6 来连接 MySQL? 2.如何通过 EF6 来实现 CRUD? 2.1.Create 添加 2.2.Retrieve 查询 2.3.Update 修改 2.4.Delete 删除 ...

  6. SmartSql 常见问题

    常见问题 为什么不支持 Linq? SmartSql 希望 开发人员更多的接触 Sql ,获得绝对的控制权与安全感.所以目前没有计划支持 Code First 编程模式. 我想好了Sql怎么写,然后再 ...

  7. JVM上的响应式流 — Reactor简介

    强烈建议先阅读下JVM平台上的响应式流(Reactive Streams)规范,如果没读过的话. 官方文档:https://projectreactor.io/. 响应式编程 作为响应式编程方向上的第 ...

  8. k8s数据管理(八)--技术流ken

    volume 我们经常会说:容器和 Pod 是短暂的.其含义是它们的生命周期可能很短,会被频繁地销毁和创建.容器销毁时,保存在容器内部文件系统中的数据都会被清除. 为了持久化保存容器的数据,可以使用 ...

  9. 高淇java300集JAVA面向对象的进阶作业

    一.选择题 1.使用权限修饰符(B)修饰的类的成员变量和成员方法,可以被当前包中所有类访问,也可以被它的子类(同一个包以及不同包中的子类)访问.(选择一项) Apublic B.protected C ...

  10. Spring中关于AOP的实践之概念

    一.什么是AOP AOP:也称作面向切面编程 在分享几个概念执行我想先举个栗子(可能例子举得并不是特别恰当): 1.假如路人A走在大街上,被一群坏人绑架了: 2.警察叔叔接到报警迅速展开行动:收集情报 ...