nginx实现mp4流媒体播放
如果还没有安装nginx,参考教程:https://niekun.net/index.php/archives/30.html
此功能使用的是 Nginx 的 ngx_http_mp4_module 模块。
首先查看当前 nginx 是否已经安装了 ngx_http_mp4_module 模块:
nginx -v
查看是否已经有了对应模块,一般使用 apt 安装的都集成了此模块。
如果还没有安装nginx,参考教程:https://niekun.net/index.php/archives/30.html
此功能使用的是 Nginx 的 ngx_http_mp4_module 模块。
首先查看当前 nginx 是否已经安装了 ngx_http_mp4_module 模块:
nginx -v
查看是否已经有了对应模块,一般使用 apt 安装的都集成了此模块。
将http请求重定向为https,使所有连接都使用安全的ssl。
以下配置为将所有收到的80端口的请求都重定向到443端口,这会把此ip下的所有域名都转换:
server {
listen 80;
listen [::]:80;
server_name _;
return 301 https://$host$request_uri;
}
listen 80 default_server 表示这是唯一监听80端口的server块
server_name _ 表示监听所有使用的域名
以下配置为重定向特定域名的请求,此方式适用于此ip下绑定多个域名的情况:
server {
listen 80;
listen [::]:80;
server_name your.domain;
return 301 https://your.domain$request_uri;
}
设定我们的域名只接收443端口的访问:
server {
listen 443 ssl default_server;
listen [::]:443 ssl;
server_name foo.com;
}
server {
listen 443 ssl;
listen [::]:443 ssl;
server_name bar.com;
}
...
只能设置一个域名为default_server。
acme.sh 实现了 acme
协议, 可以从 letsencrypt 生成免费的证书.
官方说明:https://github.com/Neilpang/acme.sh
安装很简单:
apt-get install curl
curl https://get.acme.sh | sh
安装过程进行了以下几步:
/root/.acme.sh/
alias acme.sh="/root/.acme.sh/acme.sh"
cronjob 的任务可以使用命令 crontab -e
查看。
我的VPS上的Nginx
记得还是一年前安装的,一直没有升级,最近发现版本都到了1.14了,我的还是1.4,就想做一次升级。
由于使用Nginx
用到一些配置文件,所以我预计升级会导致配置文件恢复到默认,所以查询了一些资料后,安全的做了升级。
最近有需求做一个类似网盘的功能,方便共享文件给他人,实际上就是把服务器的一个目录设置为可见。发现Nginx支持这一功能。
官方相关文档:http://nginx.org/en/docs/http/ngx_http_autoindex_module.html
在service里的新建需要共享目录的location段修改如下:
location /downloads {
root /home;
autoindex on;
autoindex_exact_size on;
autoindex_localtime on;
}
后三句为打开当前location段的目录索引功能,显示文件大小,显示文件创建日期,建议只对需要共享的目录打开目录功能。