nginx是一种反向代理服务器
什么是反向代理服务器?
正向代理:指客户端经过下载特定服务器代理软件,将请求转发到代理服务器,再转发到接口服务器
反向代理:指服务端去使用软件使之扮演客户端角色,建立一个虚拟的服务器,把真正客户端的请求经过虚 拟服务器转发到接口服务器css
因此说nginx是安装在服务端的一种代理服务器html
博主这里介绍的安装方法是在CentOS6.9基础上:
首先安装一些编译软件和指定库,CentOS原生系统不能彻底编译nginxnginx
yum install gc gcc gcc-c++ pcre-devel zlib-devel openssl-devel
去官网把.tar.gz
为后缀,稳定的nginx版本下载到CentOS服务器上c++
wget http://nginx.org/en/download....
tar -xf ...web
编译而且安装:vim
#编译: ./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module #安装: make && make install
如此这般,nginx在服务器上的部署已经完毕
安装的目录在/usr/local/nginx
路径下centos
为了操做方便,咱们直接配置一些指定命令来启动和关闭nginx:
第一步,打开init.d下的nginx文件:安全
vim /etc/init.d/nginx
复制下面代码到nginx文件中,而且:wq
保存:bash
#!/bin/bash # nginx Startup script for the Nginx HTTP Server # # chkconfig: - 85 15 # description: Nginx is a high-performance web and proxy server. # It has a lot of features, but it's not for everyone. # processname: nginx # pidfile: /var/run/nginx.pid # config: /usr/local/nginx/conf/nginx.conf nginxd=/usr/local/nginx/sbin/nginx nginx_config=/usr/local/nginx/conf/nginx.conf nginx_pid=/usr/local/nginx/nginx.pid RETVAL=0 prog="nginx" # Source function library. . /etc/rc.d/init.d/functions # Source networking configuration. . /etc/sysconfig/network # Check that networking is up. [ ${NETWORKING} = "no" ] && exit 0 [ -x $nginxd ] || exit 0 # Start nginx daemons functions. start() { if [ -e $nginx_pid ];then echo "nginx already running...." exit 1 fi echo -n $"Starting $prog: " daemon $nginxd -c ${nginx_config} RETVAL=$? echo [ $RETVAL = 0 ] && touch /var/lock/subsys/nginx return $RETVAL } # Stop nginx daemons functions. stop() { echo -n $"Stopping $prog: " killproc $nginxd RETVAL=$? echo [ $RETVAL = 0 ] && rm -f /var/lock/subsys/nginx /var/run/nginx.pid } # reload nginx service functions. reload() { echo -n $"Reloading $prog: " $nginxd -s reload #if your nginx version is below 0.8, please use this command: "kill -HUP `cat ${nginx_pid}`" RETVAL=$? echo } # See how we were called. case "$1" in start) start ;; stop) stop ;; reload) reload ;; restart) stop start ;; status) status $prog RETVAL=$? ;; *) echo $"Usage: $prog {start|stop|restart|reload|status|help}" exit 1 esac exit $RETVAL
执行nginx文件:服务器
chmod 755 /etc/init.d/nginx
OK,先咱们能使用service nginx start/stop
来启动/关闭nginx
若是出现nginx: [emerg] getpwnam(“www”) failed是由于用户组和用户问题
输入一下代码即可:
/usr/sbin/groupadd -f www /usr/sbin/useradd -g www www
首先查看端口状况:
netstat -ntlp
看80端口是否被占用(阿里云的服务器请打开安全组):
若是80端口占用则杀死该进程,不想杀死进程,就在nginx.conf
里修改nginx默认端口
nginx的使用都在一个叫nginx.conf的文件中
若是你是按照个人安装方法安装,请打开目录:
/usr/local/nginx/conf
目录下便会出现nginx.conf
文件,咱们来看下文件中是什么(代码cat nginx.conf
):
解释下:
server表示这里新建了一个代理服务器
listen表示这个代理服务器监听的端口是8080(我这里改过,默认是80端口)
server_name是代理服务器名(若是服务器有域名能够填写域名)
location才是咱们真正须要自定义配置的地方:
root是咱们须要代理的url路径
好比这里在location后面写了/
而后在root里面写了html
意思就是当咱们在url中输入IP:端口/
nginx会帮咱们代理成IP:端口/usr/local/nginx/html/
下面的index表示首页访问到index.html
由于/usr/local/nginx/html/路径下nginx在安装时建立了一个index.html(你能够打开目标路径看下)
因此上面截图中的server实际的操做结果就是:
访问IP:8080/index.html
,会出现:
咱们指定服务器的一个端口,而且经过这个端口把服务器部署成文件服务器
依旧是在nginx.conf
文件下,用vi打开。
添加下列代码:
server { listen 8079; server_name localhost; location ~ .*\.(html|htm|gif|jpg|jpeg|bmp|png|ico|txt|js|css|ttf|woff|woff2|zip)$ { root //picture; } }
每次修改都须要执行命令:service nginx start
很简单,咱们新建一个名为localhost的代理服务器
它占用了8079这个端口
设置了能够读取的文件后缀名
而且这些文件是存储在centos根目录下的picture文件夹中
这里我作一个简单示例:
url:
页面展现:
tip:若是你们是按个人方法安装
启动nginx:service nginx start 中止nginx:service nginx stop
以上即是用nginx搭建一个简单的文件夹服务器
谢谢你们的阅读~记得点关注哦