源码编译安装nginx详细步骤 |
您所在的位置:网站首页 › nginx源码编译一般跟什么参数匹配 › 源码编译安装nginx详细步骤 |
1、下载nginx源码包并解压 可在http://nginx.org/en/download.html下载.tar.gz的源码包,如(nginx-1.4.7.tar.gz) 下载后通过tar -xvzf 进行解压,解压后的nginx目录结构如下: 2、为nginx设置安装目录和启用的模块 切换到解压后的nginx目录中执行: ./configure --prefix=/opt/demo/nginx --add-module=/home/fastdfs-nginx-module/src --with-http_stub_status_module --with-http_ssl_module 参数说明: --prefix 用于指定nginx编译后的安装目录 --add-module 为添加的第三方模块,此次添加了fdfs的nginx模块 --with..._module 表示启用的nginx模块,如此处启用了http_ssl_module模块 可能出现的错误: 出现:./configure: error: the HTTP rewrite module requires the PCRE library. 解决方法:yum -y install pcre-devel 出现:SSL modules require the OpenSSL library 解决方法:yum install openssl-devel 3、编译 执行make 进行编译,如果编译成功的话会在第一步中objs中出现一个nginx文件 特别注意: 在已安装的nginx上进行添加模块的话执行到这里就行了,把objs中的nginx替换掉之前的安装的nginx/sbin/中的nginx文件,然后重启nginx就行了,如果执行下一步的install,会导致之前安装的nginx被覆盖,比如之前配置好的nginx.conf文件) 4、安装 执行make install 进行安装,安装后--prefix 中指定的安装目录下回出现如下目录结构
5、启动nginx 切入到第四步中的sbin目录或是创建一个nginx软链接 ln -s /opt/demo/nginx/sbin/nginx /usr/bin/nginx 完成后执行: nginx start(如需开机自启,可在/etc/rc.d/rc.local 文件中添此命令) 如出现:nginx: [error] invalid PID number "" in "/usr/local/nginx/logs/nginx.pid" 则需通过nginx –c ../conf/nginx.conf 命令指定nginx的配置
nginx的一些常用管理命令 重启:nginx -s reload 停止:nginx -s stop或者是通过kill nginx进程号 查看版本:nginx –V
关于nginx.conf配置文件 在安装完nginx后会在conf目录中产生一个nginx.conf的配置文件 里面有些默认配置,可根据自己的需求进行更改 示例: ![]() ![]() 关于https配置ssl 如果在安装nginx的时候没有安装 --with-http_ssl_module模块要先安装该模块 nginx –V 可查看已经安装的模块 如果没有安装,只需执行以上步骤中的2、3步进行手动添加ssl模块 添加一个https的server大概如下面这个样子 1 2 3 4 5 6 7 8 9 10 11 12 13 14 server { listen 443; ##默认的监听端口为443 server_name localhost; ssl on; ssl_certificate_key xxx.key; ##私钥 ssl_certificate xxx.crt; ##证书,证书中包含公钥和私钥加密后的签名信息 location / { root html; index index.html index.htm; proxy_pass http://xxx.xxx.xxx.xxx:xxx; } }私钥和公钥为非对称加密方式加密内容,即公钥加密后的内容只有私钥可解,私钥加密后的内容只有公钥可解; 大概原理: 服务器证书中包含公钥和签名(对证书内容进行hash后使用ca机构的私钥加密)等信息,浏览器请求发出tcp三次握手成功后服务器会将该证书发送给浏览器,浏览器会判断服务器证书是否过期或被吊销且是权威机构颁发,不是符合条件会中断访问,并显示警告提示;如果符合的话会产生一个随机字符串并用服务器证书中的公钥加密发送给服务器端,服务器再通过自己的私钥解密那个随机字符串,将这个字符串作为加密的密码来进行对称加密之后与浏览器交互的数据;
关于浏览器怎样判断服务器证书是否为权威机构颁发: 首先要知道一下几个事情 服务器证书是受信任的ca机构签发的 ca机构本身也是有证书的(存在公钥和私钥) 浏览器本身内置了受信任的ca机构的证书(有公钥) 服务器证书当中存在"签名" 证书中的"签名"是对服务器证书内容进行hash后使用ca机构的私钥加密形成的 当客户端接收到了服务器证书之后,会根据证书的内容进行散列计算得到证书内容的hash值,还会通过浏览器内置的证书(ca)提供的公钥对签名进行解密. 如果解密得到的内容等于前面散列出的hash值,则说明证书是权威机构颁发的 原文来源:https://www.cnblogs.com/luobiao320/p/7189934.html |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |