一:nginx+第三方模块用什么命令,--addmongodb
二:怎么样装mongodb
三:怎么上传一个图片
四:怎么样去访问这个图片
三方模块;它不是nginx的,就是在源码包编译nginx的时候,把第三方模块给它加进去,从而实现,nginx和mongodb能连上,连上之后,上传图片到mongodb里面,然后用户访问nginx能够访问上传到mongodb里面的图片,在浏览器输入网址,上传的图片就显示出来了。
GridFS是mongodb下用来存储文件的一种规范,所有官方支持的驱动均实现了GridFS规范。
首先装mongodb,手写yum源
用三方模块,用源码装nginx
因为用的是云服务器,因为一定不要忘了,云服务器的安全组一定要打开,因为mongodb是用的27017端口,必须打开否则连不上。
开安全组
yum -y install gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel git 安装基本服务
wget https://nginx.org/download/nginx-1.7.4.tar.gz 安装nginx
nginx包下载完了
tar xf nginx-1.7.4.tar.gz 解压
上传三方模块的包
tar xf gridfs.tar.gz 加压完有个目录
这目录里面的文件就是三方模块
cd nginx- 1.7.4/
./configure --add-module=../nginx-gridfs 把三方模块关联上
make && make install make完成之后自动化安装
配置nginx
vi /usr/local/nginx/conf/nginx.conf nginx的主配置文件
进去之后,找到server字段
指定它的路径,把图片放在/img/
使用gridfs模块,连接test库。test 是mongodb默认的数据库
pkill nginx
/usr/local/nginx/sbin/nginx
报80不是因为端口操作的报错,端口被httpd占了
pkill httpd 然后再起nginx
/usr/local/nginx/sbin/nginx
启动完毕
如果重启nginx出现这个错误,就是nginx在做没有关联上三方模块,得重新去安装nginx
如果重启nginx出现这个错误,就是nginx在做没有关联上三方模块,得重新去安装nginx
配置mongodb
yum -y install mongodb-org
装完之后,启动mongodb
systemctl restart mongod
mkdir /img 因为nginx里面主目录是/img/
cd /img/ 上传一个图片,必须是jpg 上传不了别的类型
上传图片
给它权限
mv 111.jpg 1.jpg 改成1.jgp
上传
mongofiles put --host 127.0.0.1 --port 27017 --db test 1.jpg --type jpg
mkdir /img 上传到127.0.0.1的主机,27017端口 --db test 库
连接到了本机的127.0.1的27017端口,并且added file 添加了一个文件是1.jpg
图片就加载进去了,去浏览器访问它
1.13.253.178/img/1/jpg IP地址下的img
如果不好使应该是浏览器的问题,换个浏览器,在最后上传图片的一定要在1.jp目录下上传,并且一定要上传1.jpd的图片