分类 电脑 下的文章

在Ubuntu 16里安装 python 3.6 + uWSGI + Nginx

环境:Ubuntu 16 64位

1.apt update # 更新软件源

2.apt install software-properties-common # 为安装python3.6做准备,ubuntu16自带的是python3.5

3.add-apt-repository ppa:deadsnakes/ppa # 安装ppa

4.apt updat # 更新软件源

5.apt install python3.6 python3.6-dev # 安装python3.6及开发包

6.rm /usr/bin/python3 # 移除原有的python3.5链接

7.ln -s /usr/bin/python3.6 /usr/bin/python3 # 创建python3链接到python3.6

8.apt install mysql-server # 安装mysql数据库,设置密码

9.apt install mongodb # 安装 mongodb

10.apt install python3-pip # 安装 python3-pip

11.apt python3-mysql.connector # 安装 mysql.connector

12.cd /mys/street_app_server/ # 切换到 app_server 文件所在的根目录

13.pip3 install -r requirements.txt # 安装依赖的python3包

14.create database CWS_APP; # 在mysql的命令行中,或在phpmyadmin中,创建 CWS_APP 数据库

15.python3 manage.py init # 初始化,会自动创建openluat_user和street_machine数据库及相应的数据表

16.python3 manage.py runserver # 如需测试,可运行

17.pip3 install uWSGI # 安装 uWSGI

18.apt install supervisor # 安装 supervisor,用来管理uWSGI

19.vi /etc/supervisor/conf.d/mys.conf # 创建新的 supervisor 配置文件,配置uWSGI运行,内容如下:

[program:uwsgi]
command=uwsgi --ini /mys/street_app_server/config/uwsgi_config.ini --listen 128
environment=production="1",FLASK_CONFIG="production"
startretries=8                ; max # of serial start failures (default 3)
stdout_logfile=/mys/log/uwsgi.log        ; stdout log path, NONE for none; default AUTO
stdout_logfile_maxbytes=10MB   ; max # logfile bytes b4 rotation (default 50MB)
stdout_logfile_backups=8     ; # of stdout logfile backups (default 10)
stderr_logfile=/mys/log/uwsgi.log        ; stderr log path, NONE for none; default AUTO
stderr_logfile_maxbytes=10MB   ; max # logfile bytes b4 rotation (default 50MB)
stderr_logfile_backups=8     ; # of stderr logfile backups (default 10)

20.service supervisor start # 启动 supervisor 服务

21.apt install nginx # 安装 nginx

22.vi /etc/nginx/sites-enabled/mys # 创建新站配置文件,内容如下:

server {
        listen 80;

        server_name szt.anqun.org;
        root /mys/;
        error_log /mys/log/mafunginx.error;

        location / {
            include uwsgi_params;
            uwsgi_pass 127.0.0.1:33410; # 这里与uwsgi中的端口号相同
        }

        location ~* .txt {
            root /mys/streetweb;
            index index.html;
        }

        location /assets {
            root    /mys/streetweb;
            index index.html;
            autoindex       on;
        }

        location /adminpage/assets {
            root    /mys/streetweb;
            index index.html;
            autoindex       on;
        }

        location /adminpage/ {
            root /mys/streetweb;
            index index.html;
        }
    }

23.nginx -s reload # 重载nginx配置文件

24.在浏览器里访问 http://域名/adminpage/ 应该会显示登录界面,默认用户名是 15300002713 ,密码是 888888

25.如需配置数据库密码等,配置文件在 /mys/street_app_server/config 目录里

26.cd /mys # 转到包含有 emqttd-ubuntu16-64.zip 文件的目录,解压

27../emqttd/bin/emqttd start # 启动emqttd

参考:https://www.jianshu.com/p/3fb071d55d4d?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

在FreeBSD里扩容磁盘

使用dd命令向2TB容量的硬盘还原了一个31GB固定大小的vhd虚拟机磁盘文件,需将磁盘扩容。过程如下:

1.df -h # 查看当前磁盘使用情况,29GB
growing-disk-1.png

2.gpart show ada0 # 查看当前磁盘分区情况,显示 CORRUPT
growing-disk-2.png

3.gpart recover ada0 # 尝试修复,修改后剩余未分配容量显示正确
growing-disk-3.png

4.gpart resize -i 3 ada0 # 扩展第3分区,将所有未分配容量加到第3分区里
growing-disk-4.png

5.service growfs onestart # 启动 growfs 服务,自动完成扩展
growing-disk-5.png

6.再次使用df查看,正常显示系统可用容量
growing-disk-6.png

参考:

在FreeBSD里设置静态IP地址

环境是FreeBSD 12

1.ifconfig igb0 inet 144.172.126.32 netmask 255.255.255.0 # 为名称是 igb0 的网卡设置 144.172.126.32 的静态IPv4,掩码是255.255.255.0

2.route add default 144.172.126.1 # 设置默认网关为144.172.126.1

3.如需开机自动设置,请执行以下命令

echo 'ifconfig_igb0="inet 144.172.126.32 netmask 255.255.255.0"' >> /etc/rc.conf
echo 'defaultrouter="144.172.126.1"' >> /etc/rc.conf
echo 'nameserver 8.8.8.8' >> /etc/resolv.conf

参考:

使用dd命令,还原FreeBSD 12官方发布的虚拟硬盘文件(需转换成固定大小)

本例是超微的凌动机,2TB机械盘。

过程:

1.转到急救系统 - systemrescuecd

2.wget -O- url/to/freebsd-fixed-disk.vhd.gz | gunzip | dd of=/dev/sda # 可替换镜像文件网址,sda 是磁盘名称

freebsd-0.png

3.dd完成后,重启机子,可以看到FreeBSD成功启动
freebsd-1.png

参考:

在Windows里用VBoxManage将动态扩展硬盘的vhd转成固定大小的

问题:从镜像站下载的FreeBSD虚拟硬盘文件vhd是动态扩展的,虽然可以在VitualBox里使用,但无法在Linux系统里使用dd命令还原。

尝试:

1.下载FreeBSD的镜像文件,如国内的可从阿里云镜像点下载 https://mirrors.aliyun.com/freebsd/releases/VM-IMAGES/12.0-RELEASE/amd64/Latest/FreeBSD-12.0-RELEASE-amd64.vhd.xz

2.下载到本地后,用7-zip解压,得到 FreeBSD-12.0-RELEASE-amd64.vhd 文件

3.使用VBoxManage.exe程序,将vhd磁盘文件从动态扩展的转成固定大小的类型,如 VBoxManage.exe clonemedium disk "I:\vhd\FreeBSD-12.0-RELEASE-amd64.vhd3\FreeBSD-12.0-RELEASE-amd64.vhd" "I:\vhd\FreeBSD-12.0-RELEASE-amd64.vhd3\FreeBSD-12.0-RELEASE-amd64-b.vhd" –variant Fixed

vhd-1.png
vhd-2.png

4.如提示原vhd磁盘的uuid重复,可先生成新的uuid,如 VBoxManage.exe internalcommands sethduuid "I:\vhd\FreeBSD-12.0-RELEASE-amd64.vhd3\FreeBSD-12.0-RELEASE-amd64.vhd"

5.通过dd命令,成功将固定大小类型的vhd文件复制到指定的硬盘上

参考: