nginx基于事件驱动(nginx例子)
nginx例子
ngx_upload模块是nginx中一个文件上传模式了,下面我们来看看nginx安装文件上传ngx_upload模块步骤,希望例子对各位有帮助.
安装nginx,并加入nginx upload module和nginx cache purge module:
mkdir ~/download
cd ~/download
wget http://www.grid.net.ru/nginx/download/nginx_upload_module-2.0.12.tar.gz
tar zxf nginx_upload_module-2.0.12.tar.gz
git clone https://github.com/FRiCKLE/ngx_cache_purge.git
yum groupinstall "Development Tools"
yum install pcre-devel zlib-devel openssl-devel
wget http://nginx.org/download/nginx-1.2.3.tar.gz
tar zxf nginx-1.2.3.tar.gz
cd nginx-1.2.3
./configure --prefix=/usr/local/nginx --with-pcre --with-http_ssl_module --add-module=../nginx_upload_module-2.0.12 --add-module=../ngx_cache_purge
make && make install
尝试启动:
/usr/local/nginx/sbin/nginx
ps aux | grep nginx
假如我的网站是放在 /home/mysite/www 下的,而nginx配置文件就放在 /home/mysite/etc 下:
省略了很多内容的配置文件,mysite.conf:
server {
listen 80;
server_name 192.168.1.123;
client_max_body_size 20M;
location /upload {
include /home/mysite/etc/nginx/ngx_upload.conf;
}
....其他的配置....
location @after_upload {
proxy_pass http://www_backend;
}
}
将nginx_upload.conf独立开来,是因为其他网站也可以包含此上传配置文件:
nginx_upload.conf:
upload_pass @after_upload;
upload_pass_args on;
upload_cleanup 400 404 499 500-505;
upload_store /home/mysite/www/uploads/tmp;
upload_store_access user:r;
upload_limit_rate 128k;
upload_set_form_field "${upload_field_name}_name" $upload_file_name;
upload_set_form_field "${upload_field_name}_content_type" $upload_content_type;
upload_set_form_field "${upload_field_name}_path" $upload_tmp_path;
upload_aggregate_form_field "${upload_field_name}_md5" $upload_file_md5;
upload_aggregate_form_field "${upload_field_name}_size" $upload_file_size;
upload_pass_form_field "^.*$";
而最后那个参数:upload_pass_form_field,代表可以将表单的所有参数保持原样传递到后端,需要区分文件保存类型时很有用。
nginxcom
估计是你的80端口么有打开吧,你可以参考下面的配置教程。
更多教程见:wosign.com/support/ssl-install-index.htmnginx的用法
tomcat默认端口是8080
nginx默认端口是80
在nginx的配置文件中设置api的请求转发端口为tomcat的8080就可以正常使用了
浏览器访问nginx的80端口,可以正常打卡网页
nginx 实例
nginx组件是开源的。
Nginx是一款自由的、开源的、高性能的HTTP服务器和反向代理服务器;同时也是一个IMAP、POP3、SMTP代理服务器;Nginx可以作为一个HTTP服务器进行网站的发布处理,另外Nginx可以作为反向代理进行负载均衡的实现。
其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。
nginx-gui
home目录在Linux称为主目录,在该目录下面存储的是每个用户的目录。也会是每个用户的数据是存储在该目录下面的一个子目录中。
我们知道Linux是一个多用户的操作系统,也就是在操作系统中可以创建多个用户。通常在创建用户的时候就会在home目录下面自动创建一个同名的子目录,也就是该用户的主目录。而该新建的用户只有对该子目录有全量的读写权限。
总结来说,home目录是存储每个用户的主目录,用户的主目录存储用户独有的数据。
在Linux中每个目录都有其作用,下面我们列出主要目录的具体作用。
/bin – 用户基础二进制文件目录
目录/bin是根目录的一级子目录。在该目录中包含着最为基础的用户二进制文件,也就是应用程序。这个目录非常像Windows下的Programs目录。
并非所有的应用程序都存储在这个目录下面,有些不是特别基础的程序会存储在/usr/bin目录下面。比如Chrome浏览器等,或者用户自己安装的一些程序通常会在/usr/bin下面。而系统应用程序则通常会在该目录下面,比如ls、mkdir和cp等等。
如果你使用的桌面版的操作系统,可以通过GUI看到该目录下的内容。下面这张图是一个具体的例子。
图4 二进制目录
/boot – 静态启动文件
在目录/boot下面包含的文件是用于启动操作系统的文件。比如GRUB boot loader文件和操作系统内核等。但是boot loader的配置文件并没有在这里,而是在/etc目录中。
/cdrom – 光盘安装点
目录/cdrom并不是FHS标准的一部分,但是我们在绝大多数发行版中都可以看到。该目录是光盘的临时挂载点。
/dev – 设备文件
在Linux下面,设备也是一个文件,比如磁盘、优盘或者光盘等。包括无线网卡、摄像头和串口等都是一个文件。而通常这些文件都是在/dev目录下面,大家可以切换到该目录下看看具体的内容。
图5 设备目录
其中图是/dev目录的一个局部截图。在该目录下面最常见的可能就是/dev/sda这种文件,该文件表示一个SCSI磁盘。
处理实体设备外,在该目录下面还有很多伪设备。比如/dev/random表示一个产生随机数的设备,/dev/loop0则是一个将本地文件映射为磁盘的虚拟设备。这些伪设备有的时候非常用于,我们经常使用这些设备做一些测试。
图6 GUI目录
/etc – 配置文件
操作系统和应用程序的配置文件通常都统一存储在一个目录下面,这个目录就是/etc。很多配置文件都已文本文件的形式存储在这里。我们可以通过文本编辑器修改配置项。比如网络的IP地址、Nginx的配置和系统日志的配置等等都可以在这里找到。
/home –主目录
这个目录称为主目录。在Linux操作系统下面通常每个用户都有一个自己的目录,该目录就在/home下面。例如本例中有一个名为zhangsn的用户,该用户的主目录在/home下如图7所示。
用户的主目录下面包含这数据文件和用户相关的配置文件。通常一个用户只能修改其目录下的文件,只有获得授权的情况下才能访问其它文件。
图7 zhangsn的主目录
/lib – 基础共享库
在/lib目录中存储的是/bin和/sbin中二进制文件(应用程序)需要的库文件。在/usr/bin下的应用程序依赖的库通常在/usr/lib目录下面。
/lost+found – 可恢复的文件
每一个文件系统都有一个lost+found目录。如果文件系统崩溃,在系统下次启动的时候会进行数据检查。在检查的过程中如果发现有数据冲突的文件就会将其放入该目录中。这样,你就可以试着手动恢复该文件。
/media – Removable Media
在目录/media下面包含的子目录是一些可插拔设备的挂载点。当一些可插拔设备插入电脑时,在该目录下会自动创建子目录,并进行挂载。
/mnt – 临时挂载点目录
该目录通常是空的。主要用于临时挂载一些外部文件系统。比如有多个数据磁盘的情况下,会将格式化的磁盘挂载到该目录下面。mnt字符是mount的缩写,也就是挂载的意思。
/opt – 自选软件包(Optional Packages)
自行安装的非常规软件通常会安装在该目录。
/proc – Kernel & Process Files
该目录也是一个虚拟目录,也就是并不是存储文件数据的目录。这个目录中存储的文件通常是用来获取操作系统内核内部信息或者进程内部信息的。
图8 proc目录
比如每个进程在该目录下都有一个子目录,而字母的名字就是进程ID。通过cat命令对该目录下的文件进行读取,可以获取进程的详细信息。例如我们进入目录/proc/258下面,这个是进程ID为258的进程的信息,通过ls命令可以看到如下内容。
图8 进程详细信息
/root – root主目录
目录/root是root用户的主目录。root用户的主目录并不是在/home下面,而是在根目录下面。这一点需要注意。
/run – 应用程序状态文件
这个目录是比较新的目录,用于应用程序存储经常变化的文件,比如文件锁、进程ID或者套接字等等。
/sbin – 系统管理二进制文件
该目录与/bin目录类似,用于存储二进制文件。与/bin目录不同的地方是这个目录存储的是用于系统管理的二进制文件,比如磁盘格式化(mkfs)、磁盘分区(fdisk)和网络配置(ifconfig)等命令。
图9 系统命令
/selinux – SELinux虚拟文件系统
如果你的Linux发行版使用SELinux作为安全管理,那么该目录包含着SELinux使用的相关文件。
/srv – 服务数据
该目录存储具体服务提供的数据。通常该目录是空的。这个目录中的数据通常是提供给外部的,比如Web网站存储的用户信息。这里需要注意与/var和/tmp的区别,前者是提供给外部用户的,而两者则是应用自己使用的,而且/tmp中的数据重启后会丢失。
/tmp – 临时文件
应用程序产生的临时数据通常存储在该目录中。该目录有一个特点,就是系统重启后目录中的数据将被清理。
/usr – User Binaries & Read-Only Data
与系统使用的应用程序和文件不同,在/usr目录下存储的是用户使用的应用程序的文件。比如/bin下面存储的系统二进制文件,而/usr/bin下面则是用户使用的二进制文件。/lib下面存储的系统库文件,而/usr/lib下面存储的是用于应用程序使用的库文件。
/var – 变量数据文件
/var目录是/usr目录对应的可写目录,在/usr目录中的内容只读的,而/var则是可写的。日志文件和正常操作中的一些写入操作通常会写入/var目录。例如,日志文件通常存储在/var/log中。
本网站文章仅供交流学习 ,不作为商用, 版权归属原作者,部分文章推送时未能及时与原作者取得联系,若来源标注错误或侵犯到您的权益烦请告知,我们将立即删除.