码迷,mamicode.com
首页 > 系统相关 > 详细

ubuntu下把编译安装的nginx加入到service中

时间:2015-09-30 16:37:31      阅读:191      评论:0      收藏:0      [点我收藏+]

标签:

Download Nginx最新稳定版本

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

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

apt-get install libgd2-xpm-dev

编译安装

假设下载文件在/usr/src目录下

tar zxvf nginx-1.2.1.tar.gz

cd nginx-1.2.1

./configure --prefix=/usr/nginx --with-http_ssl_module --with-http_image_filter_module
make
make install

文件会被安装到/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


ubuntu下把编译安装的nginx加入到service中

标签:

原文地址:http://my.oschina.net/u/872157/blog/512870

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!