安装过程涉及到文件写入,不废话直接进入root:
su root
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
nginx并不在centos的默认库中,需要添加:
sudo rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
现在可以安装了:
sudo yum install -y nginx
先删除掉默认的index.html,以便一会将我们的文件导入过来:
rm -rf /usr/share/nginx/html/index.html
我用的是cp命令完成copy的,用其他方式达到目的也行:
cp -r /run/media/zzu/NGX/dist/. /usr/share/nginx/html
这个命令的格式为:cp -r 原路径 目标路径
不熟悉linux命令的同学自己去百度,就不细讲了。
为了防止权限不够的情况,直接把整个资源文件夹全部解除权限:
chmod -R 777 /usr/share/nginx/html
首先打开default.conf文件:
vi /etc/nginx/conf.d/default.conf
按 i 编辑,在Location部分中加入以下语句,这是为了防止angular这样的单页面应用出现刷新404的问题:
try_files $uri $uri/ /index.html;
开启nginx默认使用的80端口:
firewall-cmd --permanent --zone=public --add-port=80/tcp
重启防火墙使改动生效:
firewall-cmd –reload
开启nginx服务:
sudo systemctl start nginx.service
如果想设置开机启动的话再执行:
sudo systemctl enable nginx.service
##其他说明
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;