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

1.进入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已经安装完毕,输入nginx启动命令后在浏览器输入本机地址就能看到欢迎页面,从第五步开始是部署angular项目的过程。

5.进入nginx资源目录,删除index.html

先删除掉默认的index.html,以便一会将我们的文件导入过来:

rm -rf /usr/share/nginx/html/index.html

6.移动dist文件夹内所有文件到nginx默认的资源文件夹

我用的是cp命令完成copy的,用其他方式达到目的也行:

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

这个命令的格式为:cp -r 原路径 目标路径

不熟悉linux命令的同学自己去百度,就不细讲了。

7.开放文件权限

为了防止权限不够的情况,直接把整个资源文件夹全部解除权限:

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

8.配置default.conf文件

首先打开default.conf文件:

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

按 i 编辑,在Location部分中加入以下语句,这是为了防止angular这样的单页面应用出现刷新404的问题:

try_files $uri $uri/ /index.html;

然后按 esc ,再输入 :wq 保存退出。

9.开启防火墙

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

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

重启防火墙使改动生效:

firewall-cmd –reload

10.启动nginx

开启nginx服务:

sudo systemctl start nginx.service

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

sudo systemctl enable nginx.service

##其他说明

1.yum安装后的nginx目录结构

Nginx配置路径:/etc/nginx/

PID目录:/var/run/nginx.pid

错误日志:/var/log/nginx/error.log

访问日志:/var/log/nginx/access.log

默认站点目录:/usr/share/nginx/html

###2.nginx的启动、停止与重启

nginx //启动nginx

nginx -s quit //停止nginx

nginx -s reload //重新载入配置文件

###3.nginx的卸载和端口的释放

卸载nginx:

yum remove nginx

关闭端口:

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

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

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

yum –y install httpd

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

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

进入存放密码的文件夹:

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

ssl 的使用

    https://www.chinassl.net/ssltools/generator-csr.html 网站生成scr 文件备用

    name.com 网站购买域名, 域名自速免费ssl 证书   , 启用ssl 证书用到上面的csr 中间文件  , 启用后 得到两个文件  

    打开nginx 配置文件 做如下修改

        listen 7000 ssl http2;   //端口可以修改

        server_name  ***.com; //证书匹配的域名

        ssl_certificate /etc/ssl/q.crt; //name.com 得到的 .crt 文件

        ssl_certificate_key /etc/ssl/q.txt; //name.com 得到的key 文件

        ssl_session_timeout 5m;

        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;

        ssl_prefer_server_ciphers on;

然后重启nginx 即用

你可能感兴趣的:(centos7下使用yum安装nginx并部署angular应用)