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

2019-10-17 19:27:12刘景俊

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