2020-03-03 20:37:08 +08:00

321 lines
6.9 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# pi
## 更换软件源
```
sudo nano /etc/apt/sources.list
deb http://mirrors.aliyun.com/raspbian/raspbian/ stretch main contrib non-free rpi
sudo nano /etc/apt/sources.list.d/raspi.list
deb http://mirrors.ustc.edu.cn/archive.raspberrypi.org/debian/ stretch main ui
sudo apt-get update
sudo apt-get upgrade
```
## 安装git
安装git
`sudo apt-get install wget git-core`
创建新用户和用户组
`adduser --system --shell /bin/bash --gecos 'git version control by pi' --group --home /home/git git`
改密码
`passwd git`
切用户
`su git`
进文件夹
`cd /home/git`
初始化
```
mkdir test.git
cd test.git
git --bare init
```
用户:添加远程
`git remote add pi git@[your IP]:/home/git/test.git`
## 关机
sudo shutdown -h now
sudo halt
sudo poweroff
sudo init 0
## 重启
sudo reboot
shutdown -r now
shutdown -r 18:23:52 #定时重启在18点23分52秒关闭
## ngrok
下载
`wget 'hls.ctopus.com/sunny/linux_arm.zip?v=2'`
重命名
mv linux_arm.zip?v=2 linux_arm.zip
解压缩
`unzip linux_arm.zip`
切文件夹
`cd linux_arm`
启动!
` ./sunny clientid 213330227041`
后台运行
`setsid ./sunny clientid 213330227041 &`
移动到 /use/local/bin 目录下并给予可执行权限
```
sudo mv sunny /usr/local/bin/sunny
sudo chmod +x /usr/local/bin/sunny
```
编写启动脚本
`sudo vim /etc/init.d/sunny`
内容
```
#!/bin/sh -e
### BEGIN INIT INFO
# Provides: ngrok.cc
# Required-Start: $network $remote_fs $local_fs
# Required-Stop: $network $remote_fs $local_fs
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: autostartup of ngrok for Linux
### END INIT INFO
NAME=sunny
DAEMON=/usr/local/bin/$NAME
PIDFILE=/var/run/$NAME.pid
[ -x "$DAEMON" ] || exit 0
case "$1" in
start)
if [ -f $PIDFILE ]; then
echo "$NAME already running..."
echo -e "\033[1;35mStart Fail\033[0m"
else
echo "Starting $NAME..."
start-stop-daemon -S -p $PIDFILE -m -b -o -q -x $DAEMON -- clientid 213330227041 || return 2
echo -e "\033[1;32mStart Success\033[0m"
fi
;;
stop)
echo "Stoping $NAME..."
start-stop-daemon -K -p $PIDFILE -s TERM -o -q || return 2
rm -rf $PIDFILE
echo -e "\033[1;32mStop Success\033[0m"
;;
restart)
$0 stop && sleep 2 && $0 start
;;
*)
echo "Usage: $0 {start|stop|restart}"
exit 1
;;
esac
exit 0
```
测试
```
sudo chmod 755 /etc/init.d/sunny
sudo /etc/init.d/sunny start
sudo /etc/init.d/sunny start #启动
sudo /etc/init.d/sunny stop #停止
sudo /etc/init.d/sunny restart #重启
```
开机启动
```
cd /etc/init.d
sudo update-rc.d sunny defaults 90 #加入开机启动
sudo update-rc.d -f sunny remove #取消开机启动
```
### 安装gogs
创建新用户git 如果不创建会导致主账号登陆不了ssh
```js
//切换为root用户为了获取创建用户的权限
sudo su
//给root创建一个新的密码
sudo passwd root
//添加一个新用户如用户名为csdn
useradd csdn
//为该用户设定登录密码
passwd csdn
//为该用户指定命令解释程序(通常为/bin/bash
usermod -s /bin/bash csdn
//为该用户指定用户主目录
usermod -d /home/csdn csdn
//查看用户的属性
cat /etc/passwd
// 切换到用户csdn
su csdn
// 再次切换到root用户不要用sudo su, 而用su root
su root
// 执行visudo命令
visudo
// 该命令实际上打开的是/etc/sudoers文件修改该文件在“root ALL=(ALL:ALL) ALL”这一行下面加入一行
csdn ALL=(ALL:ALL) ALL
//ctrl+o然后再按enter保存ctrl+c取消ctrl+x退出
```
下载
`wget 'https://github.com/gogs/gogs/releases/download/v0.11.91/raspi_armv7.zip'`
解压
`unzip raspi_armv7.zip`
进文件夹
`cd gogs`
开启web服务
`./gogs web`
去3000端口进行设置数据库设置成sqlite就行
`/etc/systemd/system/gogs.service`新建文件
```
[Unit]
Description=Gogs (Go Git Service)
After=syslog.target
After=network.target
#After=mysqld.service
#After=postgresql.service
#After=memcached.service
#After=redis.service
[Service]
# Modify these two values and uncomment them if you have
# repos with lots of files and get an HTTP error 500 because
# of that
###
#LimitMEMLOCK=infinity
#LimitNOFILE=65535
Type=simple
User=git
Group=git
WorkingDirectory=/home/git/gogs
ExecStart=/home/git/gogs/gogs web
Restart=always
Environment=USER=git HOME=/home/git
[Install]
WantedBy=multi-user.target
```
更新 User、Group、WorkingDirectory、ExecStart 和 Environment 为相对应的值。其中 WorkingDirectory 为您的 Gogs 实际安装路径根目录。
[可选] 如果您 Gogs 安装示例使用 MySQL/MariaDB、PostgreSQL、Redis 或 memcached请去掉相应 After 属性的注释。
然后通过 `sudo systemctl enable gogs` 命令激活,最后执行 `sudo systemd start gogs`,就可以做到开机启动了。
官方文件解释[docs]('https://gogs.io/docs/advanced/configuration_cheat_sheet')
重启 `sudo systemctl restart gogs`
### 安装nginx
安装
`sudo apt-get install nginx`
启动
`sudo /etc/init.d/nginx start`
修改配置
`sudo nano /etc/nginx/sites-available/default`
重启
`sudo /etc/init.d/nginx reload`
修改文件夹权限
`sudo chmod o+rw /etc/nginx`
```
server {
#SSL 访问端口号为 443
listen 443 ssl http2; #填写绑定证书的域名
server_name pi.powerrain.cn;
#证书文件名称
ssl_certificate 1_pi.powerrain.cn_bundle.crt;
#私钥文件名称
ssl_certificate_key 2_pi.powerrain.cn.key;
ssl_session_timeout 5m;
#请按照这个协议配置
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
#请按照这个套件配置,配置加密套件,写法遵循 openssl 标准。
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on;
location / {
proxy_pass http://127.0.0.1:3000;
}
location /html {
root /var/www/html;
index index.html index.htm index.nginx-debian.html;
try_files $uri $uri/ =404;
}
}
server {
listen 80;
server_name pi.powerrain.cn;
location / {
proxy_pass http://127.0.0.1:3000;
}
location /html {
root /var/www/html;
index index.html index.htm index.nginx-debian.html;
try_files $uri $uri/ =404;
}
}
```
# flask自启
* 写文件
```sh
#!/bin/sh
cd /home/pi/data/ccb/backEnd
. venv/bin/activate
gunicorn ccb:app -c gunicorn.conf.py
```
* 给权限`sudo chmod 777 /home/pi/data/ccb/backEnd/start.sh`
* 编辑开机自启`sudo nano /etc/rc.local`
* 添加`/home/pi/data/ccb/backEnd/start.sh start`
sudo chmod -R g+rwx /home/pi/data/owncloud
sudo -u www-data ls -la /home/pi/data/owncloud
sudo chown -R www-data:www-data /home/pi/data/owncloud
sudo chown -R www-data:www-data /home/pi/data/owncloud/data/canary/files/Photos/animation/0
wget https://download.owncloud.org/community/owncloud-10.3.2.tar.bz2
sudo tar -xvf owncloud-10.3.2.tar.bz2
sudo rm -rf /home/pi/data/owncloud
wget https://canary.moe/favicon.ico