UBuntu 编译安装Nginx服务 | 少将全栈
  • 欢迎访问少将全栈,学会感恩,乐于付出,珍惜缘份,成就彼此、推荐使用最新版火狐浏览器和Chrome浏览器访问本网站。
  • 吐槽,投稿,删稿,交个朋友
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏少将全栈吧

UBuntu 编译安装Nginx服务

点滴 admin 11年前 (2014-05-24) 1964次浏览 已收录 扫描二维码

Download Nginx最新稳定版本

可以从这里http://nginx.org/en/download.html下载最新版本,比如:

  1. wget http://nginx.org/download/nginx-1.2.2.tar.gz

apt-get install libpcre3 libpcre3-dev

如果需要支持https的话,参考下面的部分:

apt-get install libssl-dev

apt-get install openssl

生成证书参考文档:

http://wiki.nginx.org/NginxHttpSslModule


如果要支持image filter的话,还要安装GD library

  1. apt-getinstalllibgd2-xpm-dev

编译安装

假设下载文件在/usr/src目录下
tar zxvf nginx-1.2.1.tar.gz
cd nginx-1.2.1

wget http://nginx.org/download/nginx-1.2.2.tar.gz  

文件会被安装到/usr/nginx目录下
到/usr/nginx/sbin/目录下,执行sudo ./nginx,可以启动nginx了

–prefix=/usr/nginx 会导致nginx内部的hard coding,也就是程序部署的时候都会将/usr/nginx作为根目录。如果你的目标机器上不是该目录,就要修改这个参数。

如果你的目标机器上目录结构和nginx内部定义的不一样,就会比较麻烦。这个需求比较特殊,不过我碰到了。

静态文件服务器搭建


/usr/nginx/conf/nginx.conf文件中添加下列配置 location ~
^/(images|javascript|js|css|flash|media|static)/ { root /opt/resources;
expires 1d; }

创建/opt/resources目录,将css,images等文件夹复制到下面。 假如images目录下有logo.gif图片,启动nginx后,现在可以通过下面的方式查看: http://localhost/images/logo.gif

创建系统服务

cd /etc/init.d/
创建nginx脚本,内容如下:

    #!/bin/sh  
      
    ### BEGIN INIT INFO  
    # Provides:     nginx  
    # Required-Start:  
    # Required-Stop:  
    # Default-Start:        2 3 4 5  
    # Default-Stop:         0 1 6  
    # Short-Description: nginx  
    # Description: nginx server  
    ### END INIT INFO  
      
    . /lib/lsb/init-functions  
      
    PROGRAM=/usr/nginx/sbin/nginx  
      
      
    test -x $PROGRAM || exit 0  
      
    case "$1" in  
      start)  
         log_begin_msg "Starting Nginx server"  
         /usr/nginx/sbin/nginx log_end_msg 0  
         ;;  
      stop)  
         PID=`cat /usr/nginx/logs/nginx.pid`  
         log_begin_msg "Stopping Nginx server"  
         if [ ! -z "$PID" ]; then  
            kill -15 $PID  
         fi  
         log_end_msg 0  
         ;;  
      restart)  
         $0 stop  
         $0 start  
         ;;  
      *)  
         log_success_msg "Usage: service nginx {start|stop|restart}"  
         exit 1  
    esac  
      
    exit 0  

然后运行下面的命令:
sudo chmod +x ./nginx
sudo update-rc.d nginx defaults
现在可以使用下面的命令了,重新启动nginx会自动启动
sudo service nginx start
sudo service nginx stop

http://blog.csdn.net/csfreebird/article/details/6744394

喜欢 (0)
[🍬谢谢你请我吃糖果🍬🍬~]
分享 (0)
关于作者:
少将,关注Web全栈开发、项目管理,持续不断的学习、努力成为一个更棒的开发,做最好的自己,让世界因你不同。