欢迎来到梦飞科技

服务器租用

当前优惠活动:

Ubuntu上安装Nginx以及简朴设置条记

Ubuntu 从官方源安装 Nginx

cd ~
wget http://nginx.org/keys/nginx_signing.key
sudo apt-key add nginx_signing.key
sudo nano /etc/apt/sources.list   # 添加以下两句
deb http://nginx.org/packages/ubuntu/ precise nginx
deb-src http://nginx.org/packages/ubuntu/ precise nginx
sudo apt-get update
sudo apt-get install nginx

Ubuntu 从PPA源安装 Nginx :

sudo add-apt-repository ppa:nginx/stable
sudo apt-get update
sudo apt-get install nginx

Ubuntu 从通例源安装 Nginx :

sudo apt-get install nginx

编译安装Nginx

wget http://nginx.org/packages/mainline/ubuntu/pool/nginx/n/nginx/nginx_1.5.7-1~precise_i386.deb
wget http://nginx.org/download/nginx-1.5.7.tar.gz
tar xzf nginx-1.5.7.tar.gz
cd nginx-1.5.7

(留意:Nginx1.5.7是Mainline版而非Stable版)

为了利便开拓和打点,我在根目次下新建了一个png目次,而且目次所有者配置为当前用户,nginx就编译在/png/nginx/1.5.7下面:

sudo mkdir /png
sudo chown eechen:eechen /png

运行用户我界说为png:png,所以我需要新建这样一个用户:

sudo addgroup png --system
sudo adduser png --system --disabled-login --ingroup png --no-create-home --home /nonexistent --gecos "png user" --shell /bin/false

(新建用户的呼吁可以参考官方Deb包里的预安装剧本DEBIAN/preinst)

编译参数参考了Nginx官方提供的Deb包(nginx -V可见).

--prefix=/png/nginx/1.5.7 \
--sbin-path=/png/nginx/1.5.7/sbin/nginx \
--conf-path=/png/nginx/1.5.7/conf/nginx.conf \
--error-log-path=/png/nginx/1.5.7/var/log/error.log \
--http-log-path=/png/nginx/1.5.7/var/log/access.log \
--pid-path=/png/nginx/1.5.7/var/run/nginx.pid \
--lock-path=/png/nginx/1.5.7/var/run/nginx.lock \
--http-client-body-temp-path=/png/nginx/1.5.7/var/cache/client_temp \
--http-proxy-temp-path=/png/nginx/1.5.7/var/cache/proxy_temp \
--http-fastcgi-temp-path=/png/nginx/1.5.7/var/cache/fastcgi_temp \
--http-uwsgi-temp-path=/png/nginx/1.5.7/var/cache/uwsgi_temp \
--http-scgi-temp-path=/png/nginx/1.5.7/var/cache/scgi_temp \
--user=png \
--group=png \
--with-http_ssl_module \
--with-http_realip_module \
--with-http_addition_module \
--with-http_sub_module \
--with-http_dav_module \
--with-http_flv_module \
--with-http_mp4_module \
--with-http_gunzip_module \
--with-http_gzip_static_module \
--with-http_random_index_module \
--with-http_secure_link_module \
--with-http_stub_status_module \
--with-mail \
--with-mail_ssl_module \
--with-file-aio \
--with-ipv6

留意:这一步按错误提示安装依赖的包,这时就是apt要发威的时候了,好比我的系统安装了这些包:

sudo apt-get -y install \
build-essential \
autoconf \
libtool \
libxml2 \
libxml2-dev \
openssl \
libcurl4-openssl-dev \
libbz2-1.0 \
libbz2-dev \
libjpeg-dev \
libpng12-dev \
libfreetype6 \
libfreetype6-dev \
libldap-2.4-2 \
libldap2-dev \
libmcrypt4 \
libmcrypt-dev \
libmysqlclient-dev \
libxslt1.1 \
libxslt1-dev \
libxt-dev \
libpcre3-dev

安装好这些包后,下次编译新版Nginx就不消再装了,并且根基也满意编译PHP时configure的需求.
好了,configure乐成后就可以编译安装了:

time make && make install

time主要用来查察本次编译耗时.
编译好后可以看看这个家伙的个头:

du -sh /png/nginx/1.5.7/sbin/nginx
5.5M /png/nginx/1.5.7/sbin/nginx

情况简朴设置总结
减小Nginx编译后的文件巨细:
编辑源文件 nginx-1.5.7/auto/cc/gcc 去除Debug信息(注释掉即可):

# debug
# CFLAGS="$CFLAGS -g"

这样编译后的主措施巨细则为700多K,和Nginx官方提供的Deb包措施巨细临近.
别的configure时去掉一些不需要的模块,编译后的可执行文件会更小.
虽然,我需要一个处事剧本用来打点Nginx,这时同样可以借助官方Deb包里提供的处事剧本etc/init.d/nginx.
我把它放到/png/nginx/1.5.7/nginx,对开头界说的几个值(13到19行)举办稍加修改:

梦飞科技 - 全球数据中心基础服务领先供应商

Copyright © 2003-2019 MFISP.COM. 国外服务器租用 IDC公司 版权所有 粤ICP备11019662号