微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Ubuntu上安装Nginx服务器程序及简单环境配置的方法

这篇“Ubuntu上安装Nginx服务器程序及简单环境配置的方法文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“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可见).

./configure \
--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行)进行稍加修改:

path=/sbin:/usr/sbin:/bin:/usr/bin
desc=Nginx
name=Nginx
conffile=/etc/Nginx/Nginx.conf
daemon=/usr/sbin/Nginx
pidfile=/var/run/$name.pid
scriptname=/etc/init.d/$name
改为
path=/sbin:/usr/sbin:/bin:/usr/bin
desc=Nginx
name=Nginx
conffile=/png/Nginx/1.5.7/conf/Nginx.conf
daemon=/png/Nginx/1.5.7/sbin/Nginx
pidfile=/png/Nginx/1.5.7/var/run/$name.pid
scriptname=/png/Nginx/1.5.7/$name

启动前先创建一个cache目录,否则会提示出错:

mkdir /png/Nginx/1.5.7/var/cache

启动Nginx:

sudo /png/Nginx/1.5.7/Nginx start

测试页面:

curl -i `hostname`

看一下端口:

sudo netstat -antp|grep Nginx

查看一下它占用的内存:
htop按f4过滤Nginx

Ubuntu上安装Nginx服务器程序及简单环境配置的方法

用top同样能看到类似内容:

top -b -n1|head -n7 && top -b -n1|grep Nginx

Ubuntu上安装Nginx服务器程序及简单环境配置的方法

主要看res这个值,常驻内存(resident),不包括swap空间的物理内存, 单位为kb,%mem就是以res为参照对象.
可以看到Nginx两个进程占用的物理内存加起来不到2m,内存占用非常小.
另外top里的res这个值对应ps aux里的RSS这个值:

ps aux|head -n1 && ps aux|grep Nginx

还有我们可以看到Nginx的工人进程只有一个线程:

cat /proc/25047/status|grep threads
threads: 1

其中25047是Nginx工人进程pid号.
Nginx做成系统服务,开机自启动:

sudo ln -s /png/Nginx/1.5.7/Nginx /etc/init.d/png-Nginx
sudo update-rc.d png-Nginx defaults #开机自启动 
sudo update-rc.d -f png-Nginx remove # 以后不想开机自启动可以这样禁止
sudo service png-Nginx reload #这样就可以用service来管理Nginx服务了,比如重载配置

最后,Nginx的主配置文件位于/png/Nginx/1.5.7/conf/Nginx.conf,自己按需配置.

以上就是关于“Ubuntu上安装Nginx服务器程序及简单环境配置的方法”这篇文章内容,相信大家都有了一定的了解,希望小编分享内容对大家有帮助,若想了解更多相关的知识内容,请关注编程之家行业资讯频道。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐