Compile nginx under Ubuntu 16.04
Ubuntu 16.04下手动编译nginx并配置PHP-FPM
最近搞了一台N270小主机,性能“还不错”。不过据说编译lnmp要数个小时,于是自己动手安装nginx+php。
首先下载openssl源码
wget https://www.openssl.org/source/openssl-1.1.0c.tar.gz
tar zxvf openssl-1.1.0c.tar.gz
下载nginx:
root@ubuntu:~# wget http://nginx.org/download/nginx-1.11.8.tar.gz
2017-01-06 15:32:38 (38.2 KB/s) - ‘nginx-1.11.8.tar.gz’ saved [964918/964918]
解压,进入目录
root@ubuntu:~# tar zxvf nginx-1.11.8.tar.gz
root@ubuntu:~# cd nginx-1.11.8/
root@ubuntu:~# ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module --with-http_v2_module --with-openssl=../openssl-1.1.0c
checking for getaddrinfo() ... found
checking for PCRE library ... not found
checking for PCRE library in /usr/local/ ... not found
checking for PCRE library in /usr/include/pcre/ ... not found
checking for PCRE library in /usr/pkg/ ... not found
checking for PCRE library in /opt/local/ ... not found
./configure: error: the HTTP rewrite module requires the PCRE library.
You can either disable the module by using --without-http_rewrite_module
option, or install the PCRE library into the system, or build the PCRE library
statically from the source with nginx by using --with-pcre=<path> option.
缺少libpcre,apt安装之。
apt install libpcre3 libpcre3-dev
再次configure:
checking for zlib library ... not found
./configure: error: the HTTP gzip module requires the zlib library.
You can either disable the module by using --without-http_gzip_module
option, or install the zlib library into the system, or build the zlib library
statically from the source with nginx by using --with-zlib=<path> option.
缺少zlib,apt安装之
apt install zlib1g-dev
再次configure成功,开始编译
make -j`nproc`
make install
验证安装
root@ubuntu:~# nginx -V
nginx version: nginx/1.11.8
built by gcc 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.4)
built with OpenSSL 1.1.0c 10 Nov 2016
TLS SNI support enabled
configure arguments: --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module --with-http_v2_module --with-openssl=../openssl-1.1.0c
安装php:
apt install php7.0-fpm php7.0-curl
更改php-fpm配置文件
编辑/etc/php/7.0/fpm/pool.d/www.conf
文件
listen = /dev/shm/php-cgi.sock
使用临时文件系统,效率更高 重启php-fpm
service php7.0-fpm restart
更改nginx配置文件
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ .*\.php(\/.*)*$ {
include fastcgi.conf;
fastcgi_pass unix:/dev/shm/php-cgi.sock;
}
重启nginx,
killall nginx
nginx
即可使用。
root@ubuntu:~# free -m
total used free shared buff/cache available
Mem: 988 31 487 12 470 914
Swap: 1011 0 1011
仅占用31mb内存。
最后修改于 Fri, 06 Jan 2017