分类标签归档:linux

Linux调用pb模型并编译为so文件


写在前面

本文主要使用g++进行编译,介绍相关指令。

编译so文件

需要预先编译安装OpenCV。
pch.h

#ifndef PCH_H
#define PCH_H

#include <iostream>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#include <opencv2/imgproc/types_c.h>
#include <opencv2/dnn.hpp>

using namespace std;
u

Read more

编译Linux内核并添加系统调用


写在前面

今天无聊。。好像我一直都很无聊,想着用VS2019为Linux开发应用程序,过程比较顺利,安装完相应的组件直接建立解决方案就OK了。
然而我觉得用图形化的Linux来作为调试客户端有点占内存(这里用的是本地的虚拟机),所以我就去Ubuntu官网下载了server版,只有命令行窗口,内存分配了2G,暂时解决了我的问题
可是新的疑问产生了,Linux是最伟大的开源软件,可以很方便的得到它的源代码,那么要经过什么样的过程,这些源代码才会变成供我们使用的操作系统呢?
带着这个疑问,我打开了百度搜索,结果耗费了6个小时,不过好在编译成功了

运行环境

Oracle VM VirtualBox
U

Read more

使用superisor管理进程


写在前面

今天想使用supevisor管理Linux中的进程,主要是uwsgi,因为我现在的服务器上有三个web应用同时在运行,其中一个是wordpress,由nginx独立运行,另外两个采用nginx+uwsgi的方式,这样如果对其中一个作出修改,难免会连带着停掉另外一个的服务,及其不方便,所以想到用supervisor来管理,意外的解决了困扰我很久的缓存问题。

配置环境

安装与启动:

#安装服务
sudo apt install supervisor -y

查看状态:

sudo service supervisor status

修改配置文件:

sudo vim /etc/superv

Read more

ubuntu虚拟机中让apt使用代理


写在前面

有时候办公会用到Ubuntu虚拟机做测试,可是仅仅使用系统设置的代理,浏览器能够上网,无法安装需要的各种服务和第三方包,百度后得到方法,可以让apt也走代理。

方法

sudo vim /etc/apt/apt.conf.d/proxy.conf
贴入以下内容:

#注意修改用户名和密码、服务器和端口
Acquire::http::Proxy "http://user:password@proxy.server:port/";
Acquire::https::Proxy "http://user:password@proxy.server:port/&quo

Read more

Git的简单使用


写在前面

本来写好的文章,因为数据库bug没有了,草稿也没保存。。真的心累。
重新写一遍吧,没办法。

准备工作

Windows下首先安装Git,具体安装方式请百度。
打开Git GUI,点击Help->Show SSH Key->Generate key注册公钥,按提示填入私钥,可以留空,这样提交代码时不需要输入,觉得不安全就设置私钥且牢记密码。
复制公钥,进入Github,点击头像->settings->SSH and GPG key->New SSH key,将密钥添加进去。
打开git bash:

##验证连接
ssh -T git@github.com
#

Read more

Django+nginx+gunicorn部署网站


写在前面

试过了apache2,uwsgi,这次尝试下gunicorn,本文权当学习笔记。

安装

sudo apt-get install nginx
sudo apt-get install python3
sudo apt-get install python3-pip
sudo pip3 install virtualenv

虚拟环境

#创建
python3 -m virtualenv venv
#启动
source venv/bin/activate

安装python包

pip3 install -Ur requirements.txt

收集静态资源

#注意在settings.p

Read more

开放Ubuntu虚拟机端口


写在前面

有时候我们需要某个端口做测试,确定无误后再部署到服务端,但有些端口是默认关闭的,本文介绍一下如何打开端口并持久化开放。

使用以下命令

#安装iptables
sudo apt-get install iptables
#开放端口
sudo iptables -I INPUT -p tcp --dport 端口 -j ACCEPT
#保存规则
sudo iptables-save
#注意,以上规则每次重启都要重新配置,可以使用以下方法持久化
#安装iptables-persistent
sudo apt-get install iptables-persistent
#持久化规则
su

Read more

使用Ubuntu搭建代理服务器


写在前面

今天闲来无事,把最近搞好的django项目部署到了虚拟机里面,为什么没有放到线上呢,服务器资源不够呀,目前我那可爱的服务器已经为我运行了三个站点,再多的话俺怕它受不鸟。回归正题,部署完成后我照旧在windows下进行访问,一开始没有成功,忘了遇到啥问题了,应该是nginx没有配置好,解决的过程中我打开了一次Ubuntu的本地hosts,看到我以前自定义的两个域名(都转到了127.0.0.1,方便测试nginx根据server name转发请求),此时我陷入了深深的沉思,我能不能把虚拟机作为代理服务器,让windows也能通过自定义域名访问本地web项目呢?

解决问题

说干就干,把we

Read more

解决Ubuntu中MySQL8.0出现ERROR(1449)


发现错误

登录mysql,使用show databases;和show tables;这两个命令时报错ERROR 1449,而且备份数据库时报了同样的错误,这样的话卸载mysql重装就变得非常危险。

报错信息

ERROR 1449 (HY000): The user specified as a definer ('mysql.infoschema'@'localhost') does not exist

错误分析

报错信息提示用户mysql.infoschema@localhost不存在,执行命令 select user,host from mysql.user; 然而看到mysql.inf

Read more

python3中ctypes的简单使用


写在前面

闲来无事,学习一下使用python调用动态链接库,就用到了ctypes库。

使用方法

#调用ctypes中的各类方法
from ctypes import cdll,CDLL,WinDLL,windll
#调用platform获取当前操作系统
import platform

if platform.system() == 'Windows':
    #windows下调用的是msvcrt.dll文件
    libc = cdll.LoadLibrary('msvcrt.dll')
elif platform.system() == 'Li

Read more