注意:直接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. 1.6W star 的 JCSprout 阅读体验大提升

    万万没想到 JCSprout 截止目前居然有将近1.6W star.真的非常感谢各位大佬的支持. 年初时创建这个 repo 原本只是想根据自己面试与被面试的经历记录一些核心知识点,结果却是越写越多. ...

  2. 处理SQL Server中的重复行

    如果表中的数据需要基于行中的多个值具有唯一约束,则适合的解决方案将是复合健. 复合主键 使用SQL Server语法创建符合主键非常简单. create table my_parts ( id_par ...

  3. PopupWindowMenuUtil【popupwindow样式菜单项列表】

    版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 实现PopupWindow样式的Menu菜单. 效果图 代码分析 使用PopupWindow实现. 列表使用的是Recyclervi ...

  4. 《HelloGitHub》第 31 期

    公告 网站新增了 Web 服务器排行榜.数据库排行榜 <HelloGitHub>第 31 期 兴趣是最好的老师,HelloGitHub 就是帮你找到兴趣! 简介 分享 GitHub 上有趣 ...

  5. KnockoutJS-绑定元素

    工作变更,又走回了WPF,一个来月没有接触web开发了,之前的KnockoutJS却不想放弃,继续进行知识的巩固,下个月开始重新走回web开发之路,还是得用回一些习惯了的工具.本次开始接触各绑定元素功 ...

  6. 基于Azkaban的任务定时调度实践

    本文由云+社区发表 作者:maxluo 一.Azkaban介绍 Azkaban是LinkedIn开源的任务调度框架,类似于JavaEE中的JBPM和Activiti工作流框架. Azkaban功能和特 ...

  7. spring transaction源码分析--事务架构

    1. 引言  事务特性 事务是并发控制的单元,是用户定义的一个操作序列.这些操作要么都做,要么都不做,是一个不可分割的工作单位.通过事务将逻辑相关的一组操作绑定在一起,以便服务器 保持数据的完整性.事 ...

  8. 推荐三个 VSCode 摸鱼插件

    周三是一周中最难以度过的一天,离上个周末过去了两天,离下个周末也还有两天.为了让各位更好地搬(mo)砖(yu),今天给大家推荐三款效(mo)率(yu)工(shen)具(qi)! 一.听歌插件 1 功能 ...

  9. K2制作流程

    K2流程制作注意事项 1:分析需求 2:实施 步骤1:绘制流程图 步骤2:添加datafield[必备:ActJumped  IsPass] 步骤3:添加线规则(如下图所示,在添加完毕规则之后,再给同 ...

  10. SpringBoot2 application.properties方式加载配置文件

    application.properties jdbc.driverClassName=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql://127.0.0.1:33 ...