本文已参与「新人创作礼」活动,一起开启掘金创作之路。
系统指令
CentOS切换
Ctrl + Alt + F1 切换图形模式
Ctrl + Alt + F3 切换命令行模式
查看ip
ip addr
修改ip
vim /etc/sysconfig/network-scripts/ifcfg-eth0
重启网络服务
systemctl restart network
请求 Web 服务器
curl(client-url)
# 只显示头信息
curl url -I
# 带referer访问
curl url -e 'http//www.baidu.com' -I 'http://www.baidu.com/img/23424.png'
查看进程
ps -ef | grep nginx
ps -aux | grep nginx
杀进程
kill PID
kill -9 PID
nginx命令
# 命令列表
nginx -h
# 检查配置文件
nginx -t
# 启动
nginx -s start
nginx -c /etc/nginx/nginx.conf
# 关闭
nginx -s stop
# 重启Nginx
nginx -s reopen
# 重新加载Nginx配置文件,然后以优雅的方式重启Nginx
nginx -s reload
# 强制停止Nginx服务
nginx -s stop
# 优雅地停止Nginx服务(即处理完所有请求后再停止服务)
nginx -s quit
系统服务启动nginx
# 系统服务启动nginx(脚本启动)
systemctl start nginx
# 开机启动nginx
systemctl enable nginx.service
防火墙相关命令
# 开启
service firewalld start
# 重启
service firewalld restart
# 关闭
service firewalld stop
systemctl stop firewalld.service
# 查看防火墙规则
firewall-cmd --list-all
# 查询端口是否开放
firewall-cmd --query-port=8080/tcp
# 开放80端口
firewall-cmd --permanent --add-port=80/tcp
# 移除端口
firewall-cmd --permanent --remove-port=8080/tcp
# 指定端口和ip访问
# 指定tcp协议的192.168.44.101可以访问8080端口
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.44.101" port protocol="tcp" port ="8080" accept"
# 移除指定端口和ip访问
# 移除指定tcp协议的192.168.44.101可以访问8080端口
firewall-cmd --permanent --remove-rich-rule="rule family="ipv4" source address="192.168.44.101" port protocol="tcp" port ="8080" accept"
# 重启防火墙(修改配置后要重启防火墙)
firewall-cmd --reload
Nginx配置
user nginx;
# 启动的worker_processes数量,一般对应cpu内核数
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;
# Load dynamic modules. See /usr/share/doc/nginx/README.dynamic.
include /usr/share/nginx/modules/*.conf;
events {
worker_connections 1024;
}
http {
# 去除拷贝过程(进阶)
# sendfile on;
# keepalive_timeout 65;
# 引入文件,mime.types告诉浏览器解析的类型对应的文件类型
include /etc/nginx/mime.types;
# 默认解析的类型:流文件
default_type application/octet-stream;
# 别名(负载均衡:轮询下列服务器)
# 轮询问题:无法保持会话,用token解决会话保持
upstream httpds {
# weight 服务器权重
server localhost:8080 weight=8;
# backup 备用服务器
server localhost:8081 weight=2 backup;
# up 服务器上线(默认)
# down 服务器下线
server localhost:8081 weight=1 down;
}
# 虚拟主机 vhost 网关服务器
server {
# 端口号
# 默认监听0.0.0.0:80(root)或者0.0.0.0:8080(非root)
# 一个单独的ip,默认监听80端口
# 一个单独的端口,默认监听所有的ip接口
listen 80;
listen [::]:80;
# 域名 or 主机名(localhost)
server_name _ localhost www.google.com;
# root /usr/share/nginx/html;
# 匹配的uri
location / {
# root /usr/share/nginx/html;
# index index.html index.htm;
# try_files $uri $uri/ /index.html;
# expires 7d;
# 重定向
# break 匹配结束
# last 匹配到最后一个
# redirect 返回302临时重定向,浏览器url发生变化
# permanent 返回301永久重定向,浏览器url发生变化
rewrite ^/([0-9]+).html$ /index.js?pageNum=$1 break;
# 反向代理,重定向到新的地址
# proxy_pass 和 root 二选一
# 不支持反向代理到https
# proxy_pass http://localhost:8080/;
# 负载均衡 httpds为前文定义的别名
proxy_pass http://httpds;
}
# 静态资源
location ~*/(js|css|img) {
# 防盗链
# none:没有referer时可以访问
# server_names 检测是否是允许访问的地址中的一个
valid_referers none server_names;
if ($invalid_referer) {
# return 403;
# 盗链图片直接转到默认图片
rewrite ^/ /img/x.png break;
}
#
root html;
index index.html index.htm;
try_files $uri $uri/ /index.html;
expires 7d;
}
error_page 401 402 403 404 /40x.html;
location = /40x.html {
root index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root index.html index.htm;
}
}
}
nginx serverName匹配规则
server_name www.google.com # 完全匹配,多个选第一个
server_name *pattern # 通配符在前,多个选最长
server_name pattern* # 通配符在后,多个选最长
server_name ~pattern # 正则表达式
server_name _ # 匹配不到则找到第一个监听端口的server块(隐式default_server)。
nginx location匹配规则
location = /uri # 精确匹配
location ^~ uri # 普通字符匹配(如果该选项匹配,则只匹配该选项,不再向下匹配其他选项,普通字符匹配长>短)
location ~ pattern # 正则匹配(区分大小写,与~*不分前后)
location ~* pattern # 正则匹配(不区分大小写,与~不分前后)
location /uri # 前缀匹配(普通字符匹配长>短)
location / # 默认匹配