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协议配置成功