Nginx可以使用各平台的默认包来安装,本文是介绍使用源码编译安装,包括具体的编译参数信息。
正式开始前,编译环境gcc、g++ 开发库之类的需要提前装好,这里默认你已经装好。
Ububtu平台编译环境可以使用以下指令:
apt-get install build-essential apt-get install libtool
centos平台编译环境使用如下指令:
(1)安装make
yum -y install gcc automake autoconf libtool make
(2)安装g++:
yum install gcc gcc-c++
下面正式开始!
一般我们都需要先装pcre、zlib,前者为了重写rewrite,后者为了gzip压缩。
1.选定源码目录
可以是任何目录,本文选定的是/usr/local/src
cd /usr/local/src
2.安装PCRE库
自 https://ftp.pcre.org/pub/pcre/ 下载最新的 PCRE 源码包,使用下面命令下载编译和安装 PCRE 包:
cd /usr/local/src wget https://ftp.pcre.org/pub/pcre/pcre-8.44.tar.gz tar -zxvf pcre-8.44.tar.gz cd pcre-8.44 ./configure make make install
3.安装zlib库
自 http://zlib.net/zlib-1.2.11.tar.gz 下载最新的 zlib 源码包,使用下面命令下载编译和安装 zlib包:
cd /usr/local/src wget http://zlib.net/zlib-1.2.11.tar.gz tar -zxvf zlib-1.2.11.tar.gz cd zlib-1.2.11 ./configure make make install
4.安装ssl(某些vps默认没装ssl)
cd /usr/local/src wget https://www.openssl.org/source/openssl-1.1.1g.tar.gz tar -zxvf openssl-1.1.1g.tar.gz
5.安装nginx
Nginx 一般有两个版本(分支),分别为 mainline 主线版和 stable 稳定版。
- mainline 是更新活跃的开发分支,其添加了最新功能和错误修复。其版本号的第二位用奇数表示,例如 1.17.0。
- stable 接收针对高严重性错误的修复,但不会使用最新的功能。其版本号的第二位用偶数表示,例如 1.16.0。
您可以根据您的目的来选择这两个版本的其中一个,下面是把 Nginx 安装到 /usr/local/nginx 目录下的详细步骤:
cd /usr/local/src wget http://nginx.org/download/nginx-1.19.6.tar.gz tar -zxvf nginx-1.19.6.tar.gz cd nginx-1.19.6 ./configure --sbin-path=/usr/local/nginx/nginx \ --conf-path=/usr/local/nginx/nginx.conf \ --pid-path=/usr/local/nginx/nginx.pid \ --with-http_gzip_static_module \ --with-http_stub_status_module \ --with-file-aio \ --with-http_realip_module \ --with-http_ssl_module \ --with-pcre=/usr/local/src/pcre-8.44 \ --with-zlib=/usr/local/src/zlib-1.2.11 \ --with-openssl=/usr/local/src/openssl-1.1.1g make -j2 make install
--with-pcre=/usr/local/src/pcre-8.44
指的是pcre-8.44 的源码路径。--with-zlib=/usr/local/src/zlib-1.2.11
指的是zlib-1.2.11 的源码路径。
安装成功后 /usr/local/nginx 目录下如下:
fastcgi.conf koi-win nginx.conf.default fastcgi.conf.default logs scgi_params fastcgi_params mime.types scgi_params.default fastcgi_params.default mime.types.default uwsgi_params html nginx uwsgi_params.default koi-utf nginx.conf win-utf
6.启动
确保系统的 80 端口没被其他程序占用,运行/usr/local/nginx/nginx
命令来启动 Nginx。
netstat -ano|grep 80
如果查不到结果后执行,有结果则忽略此步骤(Ubuntu下必须用sudo启动,不然只能在前台运行)
sudo /usr/local/nginx/nginx
打开浏览器访问此机器的 IP,如果浏览器出现 Welcome to nginx! 则表示 Nginx 已经安装并运行成功。
到这里nginx就安装完成了,如果只是处理静态html就不用继续安装了。
如果你需要处理php脚本的话,还需要安装php-fpm。
附:可能遇到的错误和一些帮助信息
参考文章:https://www.nginx.cn/install