微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

centos下安装nginx并部署angular应用

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

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

1.进入root模式

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

su root
View Code

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 777 /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=80/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=80/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,根据我自己的实际情况做了一些删减和改变,如果原作者不同意,请联系我删除相关内容

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐