nginx+uwsgi部署django项目

阅读(403)

安装uwsgi

pip install uwsgi

uwsgi.ini配置

[uwsgi]

# 设置主进程
master=True
# 设置接口
socket=127.0.0.1:8000
# 项目主目录
chdir=/home/webapp/urproject
# 项目中wsgi.py文件的目录,相对于项目目录
wsgi-file=urproject/wsgi.py
# module=urproject.wsgi:application
# 指定启动的工作进程数
processes=2
# 指定工作进程中的线程数
threads=2
# 退出重启时清理日志
vacuum = true
# 保存启动之后主进程的pid
pidfile=uwsgi.pid
# 设置uwsgi后台运行, uwsgi.log 保存日志信息
daemonize=uwsgi.log
# 设置最大请求数
max-requests = 5000
# 设置socket权限
chmod-socket = 660
# 改变用户和用户组
#uid=www
#gid=www
# 设置最大日志文件大小
log-maxsize = 5000000
# 禁用请求日志记录
disable-logging = true
# 设置虚拟环境的路径
#virtualenv=/home/envs/myenv

nginx反向代理配置

  location / {
       include uwsgi_params;
       uwsgi_pass 127.0.0.1:8000;  #端口要和uwsgi里配置的一样
    }

    location /static/ {
      alias /home/webapp/myfiles/static/; #静态资源路径
      }

uwsgi基本操作

uwsgi基本操作

Debian下为vim添加鼠标复制粘贴功能

阅读(554)

debian_logo
Debian10中,使用apt安装的vim默认无法使用鼠标进行复制粘贴,很不方便。因此,今天介绍一下如何在Debian10中恢复鼠标复制粘贴的功能。

只需要添加一个文件/etc/vim/vimrc.local。

source $VIMRUNTIME/defaults.vim
let skip_defaults_vim = 1
if has('mouse')
    set mouse=r
endif

Debian下ssh控制台和vim颜色显示

阅读(672)

debian_logo
debian没有颜色,看起来不是很习惯。

给控制台添加颜色:

打开/etc/profile
添加一行:

alias ls='ls --color=auto'

重新登陆。

*给vim的也加上颜色

打开/etc/vim/vimrc
找到:’syntax on ,把前面的注视号去掉
重新开启。

uwsgi基本操作

阅读(390)

启动停止重启

uWSGI 通过 xxx.ini 启动后会在相同目录下生成一个 xxx.pid 的文件,里面只有一行内容是 uWSGI 的主进程的进程号。

uWSGI 启动:
uwsgi –ini xxx.ini

uwsgi 重启:
uwsgi –reload xxx.pid

uwsgi 停止:
uwsgi –stop xxx.pid

如果不行,执行

sudo pkill -f uwsgi -9
或者 killall -9 uwsgi

萌咖一键DD纯净系统脚本CentOS/Debian/Ubuntu

阅读(2647)

版本特性(2021年8月最新版) :

1.新增对 Oracle AMD,Oracle ARM全面支持. 可支持从 Ubuntu, Oracle Linux 等系统网络重装.

2.更新 dd 镜像的基础系统版本.

3.移除对外部 wget 的依赖.

4.新增 -port 参数, 可更改默认SSH端口.

5.更新 内置的网络参数计算 逻辑.

6.更新 grub 配置文件定位逻辑, 可支持任意引导grub的系统.

以下系统已通过测试(其他自测):

Debian: 9, 10, 11、Ubuntu: 18.04, 20.04、CentOS: 6.10

以下平台已通过测试(其他自测):

Oracle、Do、Azure

DD一键命令示例:

bash <(wget --no-check-certificate -qO- 'https://raw.githubusercontent.com/MoeClub/Note/master/InstallNET.sh') -d 10 -v 64 -a
bash <(wget --no-check-certificate -qO- 'https://raw.githubusercontent.com/MoeClub/Note/master/InstallNET.sh') -d 10 -v 64 -p "自定义root密码" -port "自定义ssh端口"

所需环境
以网络流传较广的Vicer一键DD为例,其所需环境为:

架构:KVM/XEN,不支持OpenVZ。
系统:Debian/Ubuntu/CentOS

注意事项:

Vicer脚本目前不支持重装为CentOS 7系统,支持CentOS 6.9以下版本。
重装的系统源自官方发行版。
安装过程全自动进行,无需VNC操作,无需进入救援模式。
系统安装完成后的默认用户名为root,默认密码为:MoeClub.org

linux screen 常用命令

阅读(536)

screen -S yourname -> 新建一个叫yourname的session
screen -ls -> 列出当前所有的session
screen -r yourname -> 回到yourname这个session
screen -d yourname -> 远程detach某个session
screen -d -r yourname -> 结束当前session并回到yourname这个session

使用 RSync 复制文件

阅读(489)

当今时代,用户通常都会有数台计算机:家用计算机和办公计算机、笔记本电脑、智能手机或平板电脑。因而,在多个设备之间保持文件和文档同步的任务就变得越发重要。

1.1 概念概述
1.2 基本语法
1.3 在本地复制文件和目录
1.4 远程复制文件和目录
1.5 配置和使用 Rsync 服务器
1.6 更多信息

1.1 概念概述

对于要通过慢速网络连接同步大量数据的情况,Rsync 提供了可靠的方法来只传输文件中的更改。此方法不仅适用于文本文件,还适用于二进制文件。为了检测文件之间的差异,Rsync 将文件分为多个块,并计算它们的校验和。

检测更改对计算能力有一定的要求。因此,请确保两端的计算机均具有足够的资源,包括 RAM。

当需要定期传输大量只包含微小更改的数据时,Rsync 特别有用。进行备份时就常常用到该工具。Rsync 也非常适合用来镜像试验服务器,此类服务器将 Web 服务器的完整目录树储存到 DMZ 内的某台 Web 服务器中。

Rsync 并不是同步工具,虽然它的名字看上去有些像。Rsync 工具一次只能在一个方向复制数据。它不会也不能反向复制数据。如果您需要既能同步源又能同步目标的双向工具,请使用 Csync。

1.2 基本语法

Rsync 是一个命令行工具,基本语法如下:

rsync [OPTION] SOURCE [SOURCE]... DEST

您可以在任何本地或远程计算机上使用 Rsync,前提是您拥有相应的访问权限和写入权限。可以有多个 SOURCE 项。SOURCE 和 DEST 占位符可以是路径和/或 URL。

下面介绍一些最常用的 Rsync 选项:

-v 输出较详细的文本

-a 存档模式;以递归方式复制文件并保留时间戳、用户/组所有权、文件权限和符号链接

-z 压缩传输的数据

注意:尾部斜杠计数
使用 Rsync 时,要特别注意尾部斜杠。目录后面的尾部斜杠表示目录的内容。没有尾部斜杠表示目录本身。

1.3 在本地复制文件和目录

下面的说明假设当前用户拥有 /var/backup 目录的写入许可权限。要将单个文件从计算机上的一个目录复制到另一个路径,请使用以下命令:

rsync -avz backup.tar.xz /var/backup/

文件 backup.tar.xz 会复制到 /var/backup/,绝对路径是 /var/backup/backup.tar.xz。

请勿忘记在 /var/backup/ 目录后面加上尾部斜杠!如果不插入斜杠,文件 backup.tar.xz 会复制到 /var/backup(文件)中,而不是 /var/backup/ 目录中!

复制目录与复制单个文件相似。下面的示例将目录 tux/ 及其内容复制到 /var/backup/ 目录中:

rsync -avz tux /var/backup/

在绝对路径 /var/backup/tux/ 中可找到副本。

1.4 远程复制文件和目录

两台计算机上都需要有 Rsync 工具。要从远程目录复制文件或将文件复制到远程目录,需要提供 IP 地址或域名。如果本地计算机和远程计算机上当前的用户名相同,则可以不指定用户名。

要使用相同的用户(在本地和远程主机上)将文件 file.tar.xz 从本地主机复制到远程主机 192.168.1.1,请使用以下命令:

rsync -avz file.tar.xz  tux@192.168.1.1:

如果目标主机端口不是默认的22,命令行加入 -e "ssh -p 12345"指定端口。

根据您的个人偏好,也可以使用下面的命令,它们的作用相同:

rsync -avz file.tar.xz 192.168.1.1:~
rsync -avz file.tar.xz 192.168.1.1:/home/tux

在使用标准配置的所有情况下,系统会提示您输入远程用户的通行口令。此命令会将 file.tar.xz 复制到用户 tux 的主目录(通常为 /home/tux)。

远程复制目录与在本地复制目录相似。下面的示例将目录 tux/ 及其内容复制到 192.168.1.1 主机上的远程目录 /var/backup/:

rsync -avz tux 192.168.1.1:/var/backup/

假设您在主机 192.168.1.1 上拥有写入许可权限,便可在绝对路径 /var/backup/tux 中找到副本。

1.5 配置和使用 Rsync 服务器

Rsync 可作为在用于传入连接的默认端口 873 上列出的守护程序 (rsyncd) 运行。此守护程序可以接收“复制目标”。

下面的说明介绍如何在 jupiter 上创建具有备份目标的 Rsync 服务器。此目标可用于储存您的备份。要创建 Rsync 服务器,请执行以下操作:

设置 RSYNC 服务器
在 jupiter 上,创建用于储存您所有备份文件的目录。在此示例中,我们使用 /var/backup:

mkdir /var/backup

指定所有权。在此示例中,该目录为用户组中的用户 tux 所拥有:

chown tux.users /var/backup

配置 rsyncd 守护程序。

我们将配置文件分割成一个主文件,和一些用于存放您的备份目标的“模块”。如此,以后便可更轻松地添加其他目标。全局值可以储存在 /etc/rsyncd.d/.inc 文件中,而模块放置在 etc/rsyncd.d/.conf 文件中:

创建目录 /etc/rsyncd.d/:

mkdir /etc/rsyncd.d/

在主配置文件 /etc/rsyncd.conf 中,添加以下几行:

# rsyncd.conf main configuration file
log file = /var/log/rsync.log
pid file = /var/lock/rsync.lock

# 1
&merge /etc/rsyncd.d 
# 2
&include /etc/rsyncd.d 

将 /etc/rsyncd.d/*.inc 文件中的全局值合并到主配置文件中。
从 /etc/rsyncd.d/*.conf 文件中装载任何模块(或目标)。这些文件不应该包含对全局值的任何参照。

在文件 /etc/rsyncd.d/backup.conf 中通过以下几行创建您的模块(您的备份目标):

# backup.conf: backup module
[backup] 
   uid = tux 
   gid = users 
   path = /var/backup 
   auth users = tux  
   secrets file = /etc/rsyncd.secrets 
   comment = Our backup target

1 备份目标。可以使用您喜欢的任何名称。但最好根据目标的用途来命名,并使用在 *.conf 文件中所用的相同名称。

2 指定在进行文件传输时所用的用户名或组名。

3 定义用于储存备份的路径(从步骤 1 中)。

4 指定允许的用户的逗号分隔列表。列表以最简单的方式包含允许连接到此模块的用户名。在我们的示例中,只允许用户 tux。

5 指定包含用户名和明文口令的行所在文件的路径。

创建包含以下内容的 /etc/rsyncd.secrets 文件,并替换 PASSPHRASE:

# user:passwd
tux:PASSPHRASE

确保该文件只有 root 用户可读:

chmod 0600 /etc/rsyncd.secrets

通过以下命令启动并启用 rsyncd 守护程序:

systemctl enable rsyncd
systemctl start rsyncd

测试是否可访问 Rsync 服务器:

rsync jupiter::

您应该会看到类似如下的响应:

backup          Our backup target

若非如此,请检查您的配置文件、防火墙和网络设置。

上述步骤创建了 Rsync 服务器,现在可以使用它来储存备份。下例还创建了一个列出所有连接的日志文件。此文件储存在 /var/log/rsyncd.log 中。如果您要对传输进行调试,那么它非常有用。

要列出备份目标的内容,请使用以下命令:

rsync -avz jupiter::backup

此命令会列出服务器上 /var/backup 目录中存在的所有文件。此请求还记录在日志文件 /var/log/rsyncd.log 中。要开始实际传输,请提供源目录。使用 . 表示当前目录。例如,下面的命令会将当前目录复制到 Rsync 备份服务器:

rsync -avz . jupiter::backup

默认情况下,Rsync 不会在运行时删除文件和目录。要允许删除,必须另外指定选项 –delete。为保证不删除任何较新的文件,可转而使用选项 –update。必须手动解决所有冲突。

1.6 更多信息

Csync 双向文件同步程序,请参见 https://www.csync.org/。

RSnapshot 创建增量备份,请参见 http://rsnapshot.org。

Unison 与 CSync 类似的文件同步程序,但具有图形界面,请参见 http://www.seas.upenn.edu/~bcpierce/unison/。

Rear 一个灾难恢复框架,请参见 https://www.suse.com/documentation/sle-ha/ 上 SUSE Linux Enterprise High Availability Extension 的《管理指南》。

参考:
【1】https://documentation.suse.com/zh-cn/sles/15-SP1/html/SLES-all/cha-net-rsync.html
【2】https://bbs.huaweicloud.com/blogs/296193

宝塔7.8快速降级7.7办法

阅读(557)

  1. 正常安装宝塔7.8
yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh
  1. 接着降级到7.7
wget http://download.bt.cn/install/update/LinuxPanel-7.7.0.zip
unzip LinuxPanel-*
cd panel
bash update.sh
cd .. && rm -f LinuxPanel-*.zip && rm -rf panel
  1. 取消账号绑定
rm -f /www/server/panel/data/bind.pl
  1. 破解为专业版
 curl http://download.moetas.com/install/update6.sh|bash