nginx安装,以下以nginx开启brotli压缩为示例
1、环境配置
1、nginx-1.15.10
2、zlib
$wget http://www.zlib.net/zlib-1.2.11.tar.gz
$tar -xvzf zlib-1.2.11.tar.gz
$cd zlib-1.2.11.tar.gz
$./configure
$make
$sudo make install
3、pcre
wget http://downloads.sourceforge.net/project/pcre/pcre/8.35/pcre-8.35.tar.gz
the same...
4、openssl
https://www.openssl.org/source/
nginx-1.15.10得搭配使用openssl-1.1.0h #1.1.0r 1.1.0d貌似和nginx这个版本有兼容性问题
5、ngx_brotli
2、编译安装
./configure --prefix=/usr/local/nginx --with-zlib=../zlib-1.2.11 --with-pcre=../pcre-8.35 --with-openssl=../openssl-1.1.0h --with-http_ssl_module --add-module=/usr/local/src/ngx_brotli
#安装路劲指定为usr/local/nginx,以上依赖的jar包都放在nginx同一目录
make
编译
make install
(选用)覆盖安装
- 备份安装
cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak
备份原有已经安装好的nginx
nginx -s stop
停止nginx
ps aux|grep nginx
kill -9 pid
如果停止不掉,直接杀掉所有相关进程
cp ./objs/nginx /usr/local/nginx/sbin/
将刚刚编译好的nginx覆盖掉原有的nginx
nginx
启动nginx
nginx -V
查看是否已经加入成功。
- 覆盖安装
/usr/local/nginx/sbin/nginx -v
查看已编译参数
./configure --prefix + 已编译参数
make & make install
/usr/local/nginx/sbin/nginx -s stop
/usr/local/nginx/sbin/nginx -s reload
3、nginx配置
http {
include mime.types;
default_type application/octet-stream;
brotli on;
brotli_comp_level 6;
brotli_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss image/jpeg text/javascript application/
server {
listen 443 ssl; //开启ssl
server_name brotli.com;
ssl_certificate server.crt; //证书位置 相对于conf
ssl_certificate_key server.key; //私钥位置
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_ciphers HIGH:!aNULL:!MD5;//密码加密方式
ssl_prefer_server_ciphers on;//依赖SSLv3和TLSv1协议的服务器密码将优先于客户端密码
location / {
proxy_pass http://127.0.0.1:8090;//指向本地ip
#root html;
#index index.html index.htm;
}
}
}
4、错误
- nginx: [emerg] https protocol requires SSL support in /usr/local/nginx/conf/nginx.conf:51
表示缺少ssl模块,编译参数加上--with-http_ssl_module
- nginx: [error] open() "/usr/local/nginx/logs/nginx.pid" failed (2: No such file or directory)
使用nginx -c的参数指定nginx.conf文件的位置 /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
- ./configure: error: SSL modules require the OpenSSL library.
编译参数加上 --with-openssl=../openssl-1.1.0h 或者是openssl版本与当前的nginx不兼容
- 502 bad gateway 等错误
tail /usr/local/nginx/logs/error.log
本文以nginx开启brotli压缩为例,介绍nginx安装过程。包括环境配置,涉及nginx、zlib、pcre、openssl等;编译安装步骤,如指定安装路径、编译、覆盖安装等;还提及nginx配置和常见错误及解决办法,如缺少ssl模块、文件路径问题等。
1382

被折叠的 条评论
为什么被折叠?



