nginx 安装配置

本文以nginx开启brotli压缩为例,介绍nginx安装过程。包括环境配置,涉及nginx、zlib、pcre、openssl等;编译安装步骤,如指定安装路径、编译、覆盖安装等;还提及nginx配置和常见错误及解决办法,如缺少ssl模块、文件路径问题等。

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


 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值