nginx的安装配置及https的配置及优化详解

1.一些配置前的问题详解

http://www.cnblogs.com/braveym/p/6942543.html

2.如果系统上不了https类网址

(也就是命令行用https下载东西时候总失败)
yum update nss curl libcurl
yum install mod_ssl openssl

3.正式开始安装nginx

#安装编译环境
yum install -y autoconf automake cmake freetype-devel gcc gcc-c++ git libtool make mercurial nasm pkgconfig zlib-devel
nginx需要三个环境分别是:
1.gzip 模块需要 zlib 库 ( 下载: http://www.zlib.NET/ )
2.rewrite 模块需要 pcre 库 ( 下载: http://www.pcre.org/ )
3.ssl 功能需要 openssl 库 ( 下载: http://www.openssl.org/ )

依赖包安装顺序依次为:openssl、zlib、pcre, 然后安装Nginx包
cd
cd ..
mkdir test
cd test 
mkdir software
cd software
wget -c http://nginx.org/download/nginx-1.8.1.tar.gz
wget http://www.openssl.org/source/openssl-1.0.1i.tar.gz
wget http://zlib.net/zlib-1.2.11.tar.gz
wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.40.tar.gz

#install openssl
cd /test/software
tar zxvf openssl-1.0.1i.tar.gz
cd /test/software/openssl-1.0.1i
./config && make && make install

#install pcre
cd /test/software
tar zxvf pcre-8.40.tar.gz
cd /test/software/pcre-8.40
./configure && make && make install

#install zlib
cd /test/software
tar zxvf zlib-1.2.11.tar.gz
cd /test/software/zlib-1.2.11
./configure && make && make install

git clone https://github.com/arut/nginx-rtmp-module.git

#添加nginx用户组
groupadd -r nginx
useradd -r -g nginx nginx

#install nginx
cd /test/software
tar zxvf nginx-1.8.1.tar.gz
cd /test/software/nginx-1.8.1
./configure \
--prefix=/opt/nginx \
--user=nginx \
--group=nginx \
--with-http_ssl_module \
--with-http_gzip_static_module \
--with-http_stub_status_module \
--with-http_realip_module \
--pid-path=/var/run/nginx.pid \
--with-pcre=/test/software/pcre-8.40 \
--with-zlib=/test/software/zlib-1.2.11 \
--with-openssl=/test/software/openssl-1.0.1i \
--add-module=/test/software/nginx-rtmp-module

make
make install && echo OK


#到此安装结束

4.配置系统环境

vi /etc/profile   最后一行加入


export NGINX_HOME=/opt/nginx
export PATH=$PATH:$NGINX_HOME/sbin
source /etc/profile

5.启动Nginx

配置好环境变量后直接输入命令 nginx 即可启动nginx 
进入Linux系统的图形界面,打开浏览器输入localhost会看welcome to nginx,说明nginx启动成功

如果报错了,error while loading shared libraries: libpcre.so.1: cannot open shared object file: No such file or directory,按照下面方式解决

1.用whereis libpcre.so.1命令找到libpcre.so.1在哪里
2.用ln -s /usr/local/lib/libpcre.so.1 /lib64命令做个软连接就可以了
3.用/opt/nginx/sbin/nginx启动Nginx
4.用ps -aux | grep nginx查看状态

附录:

nginx操作命令

nginx 服务器启动命令
nginx -s reload :修改配置后重新加载生效
nginx -s reopen :重新打开日志文件
nginx -t -c /path/to/nginx.conf 测试nginx配置文件是否正确

关闭nginx:
nginx -s stop :快速停止nginx
nginx -s quit :完整有序的停止nginx

其他的停止nginx 方式:

ps -ef | grep nginx

kill -QUIT 主进程号 :从容停止Nginx
kill -TERM 主进程号 :快速停止Nginx
kill -HUP 主进程号 :平滑重启nginx
pkill -9 nginx :强制停止Nginx

查看被监听的端口 ss -tunl

#centOS 6.5关闭防火墙
service iptables stop
chkconfig iptables off
#查看防火墙状态命令
service iptables status

打开 80端口
firewall-cmd --zone=public --add-port=80/tcp --permanent

systemctl stop firewalld.service
systemctl start firewalld.service

打开843端口
firewall-cmd --zone=public --add-port=843/tcp --permanent

#centOS 7关闭防火墙
systemctl stop firewalld.service
systemctl start firewalld.service

如果nginx有508跨域问题
在nginx根目录和html文件夹下都写入此文件
crossdomain.xml
文件内容如下

<?xml version="1.0" encoding="UTF-8"?>
<cross-domain-policy>
<allow-access-from domain="*"/>
</cross-domain-policy>

http配置(默认有)

 server {
      listen       80;
      server_name  localhost;
      #charset koi8-r;
      #access_log  logs/host.access.log  main;
      location / {
      root   html;
      index  index.html index.htm;
      }
  }

如果需要修改nginx默认文件夹位置,将root 后的html换成本地真实路径

 server {
	      listen       80;
	      server_name  localhost;
	      #charset koi8-r;
	      #access_log  logs/host.access.log  main;
	      location / {
	      root   (本地真实路径);
	      index  index.html index.htm;
	      }
	  }

然后重启nginx

https配置
在布置流媒体服务的服务器上
打开 nginx.conf文件
sudo vi /opt/nginx/conf/nginx.conf

将最下面的https配置前的#全部删除如下

# HTTPS server
#
server {
    listen       443 ssl;
     server_name  localhost;	
 keepalive_timeout 70; #活动时间超时设置。优化项

    ssl_certificate      ssl/client.crt;  #此处改为存放公钥的位置(一般都使用crt格式或pem格式公钥证书,如果只有cer证书可以尝试一下)
    ssl_certificate_key   ssl/client.key;  #此处改为存放key的位置(key是根据公钥生成的私钥文件,可以用工具生成,或者证书颁发机构会给购买者直接生成)

    ssl_session_cache    shared:SSL:10m;  #优化。能支持超多连接
    ssl_session_timeout  10m; #优化。增加等待超时时间

    ssl_ciphers  ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; #密钥算法
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #协议
ssl_prefer_server_ciphers on; 
    location / {
        root   /root/sinosoft_transcode;
        index  index.html index.htm;
    }
}

之后在/opt/nginx/conf/sslfile目录将证书及.key文件改名为client放入此文件夹,然后执行
nginx -s reload 成功后用网页访问https的url,成功即可

至此,nginx的https协议配置成功

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值