Nginx(一)Linux上搭建静态资源服务器

試著忘記壹切 提交于 2020-02-15 13:29:13

搭建服务器原因

前后端分离已成为互联网项目开发的业界标准使用方式,通过nginx+tomcat的方式(也可以中间加一个nodejs)有效的进行解耦,并且前后端分离会为以后的大型分布式架构、弹性计算架构、微服务架构、多端化服务(多种客户端,例如:浏览器,车载终端,安卓,IOS等等)打下坚实的基础。这个步骤是系统架构从猿进化成人的必经之路。
核心思想是前端html页面通过ajax调用后端的restuful api接口并使用json数据进行交互。
在互联网架构中:
Web服务器:一般指像nginx,apache这类的服务器,他们一般只能解析静态资源。
应用服务器:一般指像tomcat,jetty,resin这类的服务器可以解析动态资源也可以解析静态资源,但解析静态资源的能力没有web服务器好。
一般都是只有web服务器才能被外网访问,应用服务器只能内网访问。

简介

Nginx是一款轻量级的网页服务器、反向代理服务器。相较于Apache、lighttpd具有占有内存少,稳定性高等优势。它最常的用途是提供反向代理服务。

开始搭建

Linux下安装Node.js环境

下载nodejs程序包

网址:https://nodejs.org/en/download/

把程序包上传到服务器

例如放在home文件夹

进入所在目录,解压

tar -xvf node-v6.11.2-linux-x64.tar.xz

重命名文件夹

mv node-v6.11.2-linux-x64 nodejs

建立软链接,配置全局环境变量(根据自己的目录)

ln -s /opt/nodejs/bin/npm /usr/local/bin/
ln -s /opt/nodejs/bin/node /usr/local/bin/

检查是否配置成功

node -v
npm -v

建议

通过cnpm命令安装包都会通过淘宝镜像NPM下载,速度会更快。

npm install -g cnpm --registry=https://registry.npm.taobao.org

这里同样需要安装软连接:(文件名自己改)

ln -s /root/node-v8.9.3-linux-x64/bin/cnpm /usr/local/bin/cnpm

到此安装完成。

启动node推荐使用pm2启动,不然服务器断了连接服务就停止了,常规安装方式

cnpm i pm2 -g

同样需要建立软连接:

ln -s /root/node-v8.9.3-linux-x64/bin/pm2 /usr/local/bin/pm2

pm2的使用可以参考官网 http://pm2.keymetrics.io/


安装Nginx

准备工作

Nginx的安装依赖于以下三个包,在安装Nginx之前首先必须安装一下的三个包,注意安装顺序如下:

SSL功能需要openssl库,直接通过yum安装: yum install openssl
gzip模块需要zlib库,直接通过yum安装: yum install zlib
rewrite模块需要pcre库,直接通过yum安装: yum install pcre

安装Nginx依赖项和Nginx

使用yum安装nginx需要包括Nginx的库,安装Nginx的库

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

使用下面命令安装nginx

yum install nginx

启动Nginx

service nginx start

停止

service nginx stop

重启

service nginx restart

浏览器访问localhost就会出现Nginx的欢迎界面表示你安装成功了,否则就是安装失败了

配置Nginx

CentOS安装Nginx后,安装在了 /etc/nginx/目录下,你可以打开/etc/nginx/conf.d/default.conf查看里面的配置,包括监听端口,域名和nginx访问的根目录

进入nginx安装目录的conf.d目录下,修改default.conf文件,在一个server{}中添加 一个location 部分配置代码如下:

server {
	listen  80;
	server_name  localhost;
	location / {
		root  html;
		index  index.html index.htm;
	}
	location /image/ {
	root  /usr/local/myImage/;
	autoindex on;  //资源目录展开
	}

}

从上面的配置可以看出来 端口为80,server_name为localhost(写ip地址也可以)

location /image/ {
	root  /usr/local/myImage/;
	autoindex on;
}

这个配置表示输入 localhost:80/image/ 时会访问本机的/usr/local/myImage/image/ 目录,所以在新建/usr/local/myImage/image/
目录,同时还要在nginx安装目录的html目录中新建一个与location中image同名的image目录,虽然该目录里面什么也没有,在/usr/local/myImage/image/
中我们放一张图片1.jpg上去,重启nginx服务,就可以通过localhost:80/image/1.jpg访问了

root@ubuntu:/usr/local/nginx/html# mkdir image
root@ubuntu:/usr/local/nginx/html# mkdir /usr/local/myImage/image

放一张照片上去

root@ubuntu:/usr/local/nginx/html# cd  /usr/local/myImage/image
root@ubuntu:/usr/local/myImage/image# ls 1.jpg
root@ubuntu:/usr/local/myImage/image#

重启nginx

效果

个人主页:https://www.wzxyfx123.cn/

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!