pm2:cnpm install pm2 -g
pm2 start app.js --name "server" 启动app.js并且命名server
pm2 list 查看所有应用
pm2 restart server 重启应用
pm2 stop server 停止应用
pm2 delete server 删除应用
复制代码
CDN
当你访问一个cdn时,如果cdn上有数据,就从cdn上返回数据,没有,cdn会请求原网站,然后会缓存到cdn上,下一次就直接从cdn上取
复制代码
nginx
nginx 监听80端口,当外面的请求,比如yyc.51purse.cn,blog.51purse.cn请求时,nginx会去做代理,yyc.51purse.cn的服务在8080上,blog.51purse.cn服务在9090上,从而做到转发的功能
常用命令
sudo service start|stop|status|restart|reload|configtest
复制代码
nginx分析
user www-data;
worker_processes auto;
pid /run/nginx.pid;
events {
worker_connections 768;
}
http {
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
include /etc/nginx/mime.types;
default_type application/octet-stream;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # Dropping SSLv3, ref: POODLE
ssl_prefer_server_ciphers on;
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
gzip on;
gzip_disable "msie6";
include /etc/nginx/conf.d/*.conf; //包含*.conf
include /etc/nginx/sites-enabled/*; // 包含sites-enabled
}
复制代码
/etc/nginx/sites-enabled
server {
listen 80 default_server;
listen [::]:80 default_server;
root /var/www/html; // 放文件的根目录
index index.html index.htm index.nginx-debian.html;
server_name _;
location / {
try_files $uri $uri/ =404;
}
}
复制代码
写一个小栗子
server{
listen 3001;
server_name 101.132.34.71;
location /{
proxy_pass http://101.132.34.71:3002;
}
}
复制代码
写一个小栗子
server{
listen 80;
server_name yyc.51purse.cn; 监听yyc.51purse.cn的80端口
location /{
proxy_pass http://101.132.34.71:3002; 起3002端口的服务
}
}
复制代码
开启gzip压缩
server {
listen 80;
server_name lyx.51purse.cn;
location ~ .*\.(jpg|png|gif)$ {
gzip on;
gzip_http_version 1.1;
gzip_comp_level 3;
gzip_types image/jpeg image/png image/gif;
root /var/www/html/blog/static;
}
}
复制代码
设置缓存
location ~ .*\.(jpg|png|gif)$ {
expires 24h;
}
复制代码
设置跨域
location ~ .*\.json$ {
add_header Access-Control-Allow-Origin http://localhost:3000;
add_header Access-Control-Allow-Methods GET,POST,PUT,DELETE,OPTIONS;
add_header Access-Control-Allow-Credentials true; 可以把cookie发送给服务器
root /data/json;
}
复制代码
防盗链
防止网站资源被盗用
保证信息安全
防止流量过量
区别哪些请求是非正常的用户请求
使用http_refer防盗链
location ~ .*\.(jpg|png|gif)$ {
expires 24h;
valid_referers none blocked 47.104.184.134;
if ($invalid_referer) {
return 403;
}
}
复制代码
代理
正向代理:代理客户端 eg:翻墙
反向代理:代理服务器 eg:nginx代理域名分发
复制代码