linux下使用Nginx搭建图片服务器【分分快三计划】

作者:分分快三计划
  1. 下载nginx源码 下载地址:链接: 密码: 936t
  2. 下载nginx-echo-module  链接:
  3. 命令行新建文件夹,将下载下来的nginx源码解压,cd到该目录

3.安装zlib库 
 下载最新的 zlib 源码包,使用下面命令下载编译和安装 zlib包: 
cd /usr/local/src  
wget  tar -zxvf zlib-1.2.8.tar.gz cd zlib-1.2.8 ./configure make 
make install 
4.安装ssl(某些vps默认没装ssl) 
cd /usr/local/src 
wget  tar -zxvf openssl-1.0.1c.tar.gz 
5.安装nginx 
Nginx 一般有两个版本,分别是稳定版和开发版,您可以根据您的目的来选择这两个版本的其中一个,下面是把 Nginx 安装到 /usr/local/nginx 目录下的详细步骤: 
cd /usr/local/src 
wget  tar -zxvf nginx-1.4.2.tar.gz cd nginx-1.4.2  
./configure --sbin-path=/usr/local/nginx/nginx --conf-path=/usr/local/nginx/nginx.conf --pid-path=/usr/local/nginx/nginx.pid --with-http_ssl_module  --with-pcre=/usr/local/src/pcre-8.34 --with-zlib=/usr/local/src/zlib-1.2.8 --with-openssl=/home/mdpi/openssl-1.0.1c

#charset koi8-r;

   接下来,发现nginx安装目录下的nginx.conf不允许修改,尝试在文件简介处将权限修改为可读写,但是还是不行,只能讲文件复制到别处修改后再覆盖回来,个人其他nginx配置是放在nginx安装目录下新建了一个servers文件夹,里头有各种域名的配置文件

下载源码包 nginx 地址:
  下载nginx 1.4.7

   安装环境

本人安装nginx-echo-module的初衷是之前遇到过一些时候,虽然有配置location规则,但是却在浏览器访问时,出现错误等未匹配或不符合预期的情况,想要知道,实际上是否有匹配哪条location规则,但是nginx的日志却只能记录请求url,所以,看到echo输出就很开心,毕竟感觉return不是那么好用的,作为一个小白前端,只能写到这种程度,各位参考指教吧~

 

server {
listen        181;
server_name image.com;

 

修改这两处即可让nginx 支持 php 功能

一:安装Nginx

停止服务  sudo ./nginx -s stop

 ./configure make 
make install 

  ------使用 tar -zxcf  解压

sudo make install

 location ~ .php$ {
            root           /usr/local/nginx/html;       //  /网站的根路径 是 /usr/local/nginx/html/下
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  /usr/local/nginx/html$fastcgi_script_name;  //支持php的路径  意思就是 在/usr/local/nginx
            include        fastcgi_params;                                                                                      /html 的目录下 支持php的文件
       }

 出现图片   图片服务器就搭建成功了

 

启动nginx出现的错误 :nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)

 本人实在Ubuntu 版本下安装的

 

测试一下吧!  

二:启动 Nginx 

重启使配置生效  sudo ./nginx -s reload

相关错误:

3、重启 nginx 服务  

./configure

执行如下操作来安装openssl及其开发函数库:

  如果出现端口被占用  请进入到 /usr/local/nginx/config/   执行 sudo  nano nginx.conf  修改端口号 

sudo make

启动nginx的时候,提示sbin/nginx: error while loading shared libraries: libpcre.so.1: cannot open shared object file: No such file or directory

location / {
#root html;
root (这地方填你图片文件夹的位置 例如/mnt/image/);

 

##建立软链接sudo ln -s /usr/local/nginx/sbin/nginx /etc/init.d/##启动nginx/etc/init.d/nginx
之后就打开浏览器  输入http://localhost ; 

  进入到 /usr/local/nginx/sbin/  

此时,nginx已经成功安装到系统/usr/local/nginx目录下,可执行文件是/usr/local/nginx/sbin中的nginx文件

 

  1、分别解压后  执行   ./configure 或者 ./config 命令 (注意  如果执行命令报错 有可能是你安装的版本不匹配或者没安装全)

   此时,再在任意location /xxx配置中echo 'xxxxx' 然后在浏览器中访问该域名:端口号/location路径, 发现回车后,浏览器会自动下载下来一个文件,内容为echo输出的字符串(这里不太明白为什么,开始初衷是以为echo应该在浏览器控制台输出才对,可能还是哪里没太搞对吧【补充:今天做测试时,发现可以在页面上直接展示echo的字符串,好像只有匹配location时,会下载这个文件~(有待考证)】),不过到目前为止,nginx-echo也算能用了,不枉捣鼓了一天

 

  进入到 /etc/

sudo make

  1. $ sudo apt-get install openssl  
  2. $ sudo apt-get install libssl0.9.8  
  3. $ sudo apt-get install libssl-dev  

 

启动命令:cd /usr/local/nginx/sbin

编译前先安装两个包:

  下载 nginx 包 

           sudo ./nginx

然后 sudo /etc/init.d/nginx -s reload   //重新载入nginx 的配置文件

}

 

      然后  执行 make  和  sudo  make install

sudo ./configure --add-module=echo-nginx-module-0.61

sudo fuser -k 80/tcp

    比如 我的是 192.168.221.129   image.com

参考链接:

4.启动nginx 
sudo /usr/local/nginx/sbin/nginx
   关闭nginx
sudo /usr/local/nginx/sbin/nginx -s stop
   重读nginx配置文件
sudo /usr/local/nginx/sbin/nginx -s reload

  进入到 /usr/local/nginx/config/   执行 sudo  nano nginx.conf 

sudo make install

sudo apt-get install libpcre3-dev aptitude libssl-dev这样再make install就可以成功了

#access_log logs/host.access.log main;

  4. 将nginx-echo-module解压后移动到3中目录下

解决办法: ln -s /usr/local/lib/libpcre.so.1 /usr/local/nginx/lib

   在配置文件里再添加一个server   如下  

这种方法只适用于自己编译nginx源码,不适用于直接下载安装nginx的(包括npm install,brew install等),直接下载的在安装目录下是没有.configure可执行文件的!

正式开始前,编译环境gcc g  开发库之类的需要提前装好,这里默认你已经装好。 ububtu平台编译环境可以使用以下指令 
apt-get install build-essential apt-get install libtool 
centos平台编译环境使用如下指令 安装make: 
yum -y install gcc automake autoconf libtool make 
安装g : 
yum install gcc gcc-c  
下面正式开始 
--------------------------------------------------------------------------- 一般我们都需要先装pcre, zlib,前者为了重写rewrite,后者为了gzip压缩。 1.选定源码目录 
可以是任何目录,本文选定的是/usr/local/src 
cd /usr/local/src 
2.安装PCRE库 
ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/ 下载最新的 PCRE 源码包,使用下面命令下载编译和安装 PCRE 包: 
cd /usr/local/src 
wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.34.tar.gz  tar -zxvf pcre-8.34.tar.gz cd pcre-8.34

}

  这个过程中,因为按照网上教程操作,但是,下载的0.60及0.58在sudo make时都会在控制台报2个错,因为没截图,记得报错是赋值类型不匹配相关,错误文件是http-request.c,后来尝试下载了链接中的0.61版本,重新从.configure执行一次,发现没有报错了(这个过程真是煎熬啊,自己又不懂nginx实现的细节,网上又没有很多类似报错信息,像没头苍蝇一样乱试)

 

   下载openssl zlib pcre  依赖库

前言:

make install 

error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}

注:

make 

   

直接修改

  3、分别执行  make  install 如果报错  说明权限不够  请使用sudo make install

 

   解压后 执行    ./configure --prefix=/usr/local/nginx  命令 

 location / {
            root   /usr/local/nginx/html/;      //网站的根路径 是 /usr/local/nginx/html/下
            index  index.html index.htm index.php;    //主页文件的类型
        }

    此时再启动  ./nginx  成功

!!!给nginx 设定支持PHP功能

    在里面添加  服务器ip 和 对应的域名

使用命令关闭占用80端口的程序

  执行  ./nginx  (权限不够请使用 sudo ./nginx)

直接编译安装会碰到缺少pcre等问题,这时候只要到再安装两个包就ok

2、配置hosts文件

 

     执行 sudo  nano hosts

=============================================================

三:修改 nginx.config

依赖包安装完毕以后 就可以编译安装nginx

保存 退出  

首先编辑
sudo vi /usr/local/nginx/conf/nginx.conf

在浏览器中 输入 localhost:181/123.jpg 

  2、分别执行 make  

本文由分分快三计划发布,转载请注明来源

关键词: 分分快三计划 Linux