近日对香橙派Orange Pi Zero H2+ 256MB的主板进行重做系统,本次记录下相关的操作经过。
以下操作皆在windows 10 操作系统下进行。
准备工作
- 下载 SD Card Formatter ,使用该工具对TF卡进行格式化;
- 下载Win32DiskImager-1.0.0-binary.zip,使用该工具对镜像进行烧录;
- 下载镜像,解压压缩包,需要img后缀镜像文件;
至此,准备工作完成,使用Win32DiskImager进行烧录,烧录完成后将TF卡插入设备,通电启动。
系统配置
- 系统启动成功后,可以在路由器后台管理的DHCP页面,查看设备的IP地址,设备名为“orangepizero”,登录用户
root
、密码是orangepi
; - 如果需要对网络使用静态IP,可以使用命令
orangepi-config
进行到系统设置页面进行相关设置; - 修改apt源为阿里(记得先备份),因为自带的清华源无法使用,
sed -i 's#mirrors.tuna.tsinghua.edu.cn#mirrors.aliyun.com#g' /etc/apt/sources.list
; - 执行
apt-get clean
和apt-get update
更新本地信息;
反向代理配置
- 执行命令
apt-get install nginx
安装nginx - 安装完成后,进入目录
/etc/nginx/
,修改nginx.conf
文件,在http
节点内任意位置,新增如下代码
log_format json escape=json '{"@timestamp":"time_iso8601",'
'"server_addr":"server_addr",'
'"remote_addr":"remote_addr",'
'"scheme":"scheme",'
'"request_method":"request_method",'
'"request_uri": "request_uri",'
'"request_length": "request_length",'
'"uri": "uri", '
'"request_time":request_time,'
'"body_bytes_sent":body_bytes_sent,'
'"bytes_sent":bytes_sent,'
'"status":"status",'
'"upstream_time":"upstream_response_time",'
'"upstream_host":"upstream_addr",'
'"upstream_status":"upstream_status",'
'"host":"host",'
'"http_referer":"http_referer",'
'"http_user_agent":"http_user_agent"'
'}';
proxy_hide_header X-Powered-By;
proxy_hide_header Server;
- 进入目录
/etc/nginx/sites-available
,使用vim命令编辑创建文件www.xxx.com.conf
,然后写入如下内容:
server {
listen 80;
listen [::]:80;
server_name 127.0.0.1; # 这里可以写你自己的ip或者域名
access_log /var/log/nginx/www.xxx.com_nginx.log json;# 这里设置日志路径和格式
index index.html index.htm index.php;
#error_page 404 /404.html;
#error_page 502 /502.html;
location / {
proxy_pass https://www.xxx.com/; # 这里写要转发到的地址
proxy_set_header Host "www.hongshanhis.com"; # 这里是转发后添加的Host头信息
proxy_set_header X-Real-IP remote_addr;
proxy_set_header X-Forwarded-Forproxy_add_x_forwarded_for;
proxy_set_header Referer "www.hongshanhis.com"; # 这里添加referer,处理防盗链问题
proxy_set_header X-FORWARDED-PROTO "https"; # 转发后的是https协议就要加这个
proxy_set_header REMOTE-HOST $remote_addr;
index index.html index.htm index.php;
}
}
- 执行命令
ln -s /etc/nginx/sites-available/www.xxx.com.conf /etc/nginx/sites-enabled/www.xxx.com.conf
,然后重启nginxsystemctl restart nginx
即可;
至此,反向代理已经可以正常工作了。
日志切割
- 进入目录
/etc/logrotate.d
,创建文件nginx_ex
,虽然已经存在nginx文件,但是因为配置不符合需求,暂时不修改原有的,新建的配置内容如下:
/var/log/nginx/*_conf.log {
daily
rotate 10
missingok
notifempty
compress
sharedscripts
postrotate
/bin/kill -USR1 `cat /run/nginx.pid 2>/dev/null` 2>/dev/null || true
endscript
}
- 配置修改完毕后,可以执行
logrotate -d -f nginx_ex
调试模式执行以下看是否有问题,没有问题就大功告成了!
nginx自启动
- 默认安装nginx时已经安装好了systemctl服务了,这时候为了保证可以重启后启动顺利,需要做小幅度调整
- 执行
systemctl enable nginx
命令启动自启动服务 - 执行
vim /lib/systemd/system/nginx.service
,打开文件编辑吼,给[Service]节点增加一行,填写内容为Restart=on-failure
即可,这是为了防止系统启动后配置文件内的一些反向代理域名未正常解析导致nginx启动失败
文章评论