6.9 KiB
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
//切换为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
重启 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自启
- 写文件
#!/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