Nginx使用的地方特别多,很久以前就知道Nginx使用范围很广,却并不知道Nginx具体可以做什么,怎么使用。最近读了几篇关于Nginx的文章,对Nginx有了大致的了解,只看不练无法解决真正的问题,此处主要是Nginx的安装以及,Nginx作为http服务器的简单配置。
Nginx可以做什么?
1.反向代理
2.负载均衡
3.http服务器
4.正向代理
反向代理应该是Nginx做的最多的一件事了,什么是反向代理呢,以下是百度百科的说法:反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。简单来说就是真实的服务器不能直接被外部网络访问,所以需要一台代理服务器,而代理服务器能被外部网络访问的同时又跟真实服务器在同一个网络环境,当然也可能是同一台服务器,端口不同而已。
负载均衡也是Nginx常用的一个功能,负载均衡其意思就是分摊到多个操作单元上进行执行,例如Web服务器、FTP服务器、企业关键应用服务器和其它关键任务服务器等,从而共同完成工作任务。简单而言就是当有2台或以上服务器时,根据规则随机的将请求分发到指定的服务器上处理,负载均衡配置一般都需要同时配置反向代理,通过反向代理跳转到负载均衡。而Nginx目前支持自带3种负载均衡策略,还有2种常用的第三方策略。
Nginx本身也是一个静态资源的服务器,当只有静态资源的时候,就可以使用Nginx来做服务器,同时现在也很流行动静分离,就可以通过Nginx来实现。
正向代理,意思是一个位于客户端和原始服务器(origin server)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。客户端才能使用正向代理。当你需要把你的服务器作为代理服务器的时候,可以用Nginx来实现正向代理。
Nginx在Ubuntu安装很简单,只需要一个命令即可。
#Nginx安装
apt-get install ngnix
#Nginx 查看状态|停止|运行|重启
service nginx status|stop|start|restart
nginx文件结构
/usr/sbin/nginx/ #主程序
/etc/nginx/ #配置文件
/usr/share/nginx/ #静态文件
/var/log/nginx/ #日志文件
查看Nginx配置文件
#查看配置文件
vi /etc/nginx/nginx.conf
#说明下面两个目录下的文件也是Nginx的配置文件
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
#打开文件
vi /etc/nginx/sites-available/default
listen 80 default_server;
listen [::]:80 default_server;
不难发现80就是默认端口,将80修改为你想要的数值,然后重启即可生效
#重启Nginx
service nginx restart
#打开文件
vi /etc/nginx/sites-available/default
root /var/www/html;
index index.html index.htm index.nginx-debian.html;
将/var/www/html目录修改为指定的目录,我这边修改为
root /root/www;
index index.html index.htm index.nginx-debian.html;
修改后并重启,一直报404错误,在网上找了好久,说修改www目录的权限与所属用户,重启后并没有生效,然后再查看nginx.conf配置文件的时候,看见下面一段配置:
user www-data;
worker_processes auto;
将上面配置修改为配置:
user root;
worker_processes auto;
重启后访问,可以正常访问了
参考博文:https://www.jianshu.com/p/8bf73d1a758c