0%

阿里云操作笔记

  • [todo]:当年还 markdown 还不太流利,文档也不好看,按照面向使用的原则,使用到相关功能时再作更新。

Centos

环境设置

购买,获取相关数据

  • 服务器信息
    • CPU: 1 核
    • 内存: 2048 MB
    • 操作系统: CentOS 7.6 64 位
    • 带宽计费方式: 按固定带宽
    • 当前使用带宽: 1Mbps
  • ip 地址:120.78.91.177
  • 帐号、密码
  • 终端连接密码

更新系统

1
2
3
4
5
6
yum update
# 安装 EPEL 仓库
yum install -y epel-release
# 安装 IUS 仓库
rpm -Uvh https://centos6.iuscommunity.org/ius-release.rpm
yum upgrade

增加用户

用 root 来 ftp、操作啥的是大忌,安全第一
adduser user_name //增加用户 user_name
passwd user_name //修改密码
赋予 root 权限:
修改 /etc/sudoers 文件,找到下面一行,在 root 下面添加一行,如下所示:

1
2
3
Allow root to run any commands anywhere
root ALL=(ALL) ALL
user_name ALL=(ALL) ALL

修改完毕,现在可以用 user_name 帐号登陆,sudo 获取 root 权限进行操作
查看下 user_name 的信息
cat /etc/passwd | grep user_name
如果显示 shell 是 /sbin /nologin,需要 vi /etc/passwd 将起改成 /bin/bash

(可选)安装开发包和库文件

1
sudo yum -y install ntp make openssl openssl-devel pcre pcre-devel libpng libpng-devel libjpeg-6b libjpeg-devel-6b freetype freetype-devel gd gd-devel zlib zlib-devel gcc gcc-c++ libXpm libXpm-devel ncurses ncurses-devel libmcrypt libmcrypt-devel libxml2 libxml2-devel imake autoconf automake screen sysstat compat-libstdc++-33 curl curl-devel

python3.7.3

3.8 都出了,紧跟 manjaro 的版本吧

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# 更改 yum 源
cd /etc/yum.repos.d
mv CentOS-Base.repo CentOS-Base.repo.bak
wget -O CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
yum clean all
yum makecache
# 安装依赖、下载安装 Python
yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel libffi-devel

wget https://www.python.org/ftp/python/3.7.3/Python-3.7.3.tgz
tar xf Python-3.7.3.tgz
cd Python-3.7.3
mkdir /usr/local/python3
./configure --prefix=/usr/local/python3 # 配置
make && make install # 编译安装
ln -s /usr/local/python3/bin/python3.7 /usr/local/bin/python3.7
# 检查安装
python2.7 和 3.7 版本同时安装在系统中
python -V
python3.7 -V
  • python3 程序的执行文件:/usr/local/bin/python3.7
  • python3 应用程序目录:/usr/local/lib/python3.7
  • pip3 的执行文件:/usr/local/bin/pip3.7
  • pyenv3 的执行文件:/usr/local/bin/pyenv-3.7

更改/usr/bin/python 链接

1
2
3
4
5
6
7
cd /usr/bin
mv python python.backup
sudo ln -s /usr/local/bin/python3.7 /usr/bin/python
sudo ln -s /usr/local/bin/python3.7 /usr/bin/python3
# 只爱 python3
sudo mv /usr/bin/pip /usr/bin/pip.backup
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3

更改 yum 脚本的 python 依赖

1
2
3
# cd /usr/bin
# ls yum*
yum

更改 yum 文件头为

1
#!/usr/bin/python 改为 #!/usr/bin/python2

修改 urlgrabber 配置文件

1
2
# vi /usr/libexec/urlgrabber-ext-down
#!/usr/bin/python 改为 #!/usr/bin/python2

重启 发现 python3.7 已经装好了
用完即删,保持纯净

1
2
3
cd /home/soft
rm -rf Python3.6.6
rm Python3.6.6.tgz

包安装

  • flask

jupyter

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
pip install jupyter
cd
mkdir notebook
mkdir data/jupyter
touch data/jupyter/jupyter.log
python
from notebook.auth import passwd
passwd(“**”)
得到 notebook user_name2 sha1:fca50942a63b:34f46a55ad5ae2f417966e6fc1838bcdebe3af35
vi ~/.jupyter/jupyter_notebook_config.py
加入:
c.NotebookApp.ip='*'
c.NotebookApp.password =
u'sha1:8d7b6dd271c1:590464568137d2065acc1d442d1e3710212c3317'
c.NotebookApp.open_browser = False
c.NotebookApp.port =8888
c.NotebookApp.allow_root=True
c.IPKernelApp.matplotlib = 'inline'

后台运行
直接以 jupyter notebook 命令启动 Jupyter 的方式在连接断开时将会中断,所以我们需要让 Jupyter 服务在后台常驻

1
nohup jupyter notebook > ~/data/jupyter/jupyter.log 2>&1 &

最后的&表示后台运行
2 输出错误信息到提示符窗口
1 表示输出信息到提示符窗口, 1 前面的 & 注意添加, 否则还会创建一个名为 1 的文件
最后会把日志文件输出到 test.log 文件

Git

安装配置

1
2
3
4
5
6
7
8
9
10
yum install git

group add git
add user -g git
# 禁止 git 用户登录,vi /etc/passwd
将`git:x:503:503::/home/git:/bin/bash`
改成`git:x:503:503::/home/git:/bin/git-shell`

git config --global user.name "{user_name}"
git config --global user.email {user_name}@outlook.com
1
2
# 创建私钥,文件位于用户主目录里找到.ssh 目录,里面有 id_rsa 和 id_rsa.pub 两个文件
ssh-keygen -t rsa -C "{user_name}@outlook.com"
  • 如果是采用的 sudo 方式来创建 git 和相应的文件的,需要设置 /home/git/.ssh/ 的 owner 为 git,否则还是每次要输入密码的。

创建证书登录

编辑 /home/git/.ssh/authorized_keys,把客户端的公钥放进去,1 个公钥 1 行。

初始化 Git 仓库

1
2
3
4
5
6
cd ~
mkdir gitrepo
cd gitrepo
# 创建一个空的 Git 仓库,服务器上的 Git 仓库通常都以.git 结尾
git init --bare bk.git
Initialized empty Git repository in /root/gitrepo/bk.git/

基本操作

1
2
3
4
# 验证效果
git clone root@120.78.91.177:/root/gitrepo/bk.git
cd bk
vi test-git.py

mysql

先配 mysql 的 repo 源
官方找:mysql repo
或直接操作:

1
rpm -Uvh https://repo.mysql.com//mysql80-community-release-el7-1.noarch.rpm

更新 yum 命令并安装

1
yum clean all yum makecache yum install mysql-community-server

开启 mysql 服务

1
systemctl start mysqld.service

获取初始密码登录 mysql

  • 使用初始密码登录
    由于 MySQL 从 5.7 开始不允许首次安装后,使用空密码进行登录,系统会随机生成一个密码以供管理员首次登录使用,这个密码记录在/var/log/mysqld.log 文件中,使用下面的命令可以查看此密码:

    1
    2
    3
    cat /var/log/mysqld.log|grep 'A temporary password'
    2017-11-12T13:35:37.013617Z 1 [Note] A temporary password is generated for root@localhost: bkv,dy,)o7Ss
    最后一行冒号后面的部分 bkv,dy,)o7Ss 就是初始密码。
    • 使用此密码登录 MySQL:mysql -u root -p

    • 更改默认密码:

    •     8. 切换数据库:
      
          use mysql;
          修改 root 密码:
          alter user 'root'@'localhost' identified by 'your_password';
          将 your_password 替换成你自己的密码就可以了,当然,这个密码是强密码,要求密码包含大小写字母、数字及标点符号,长度应该在 6 位以上。
      
          mysql 在安装后会创建一个 root@locahost 账户,并且把初始的密码放到了/var/log/mysqld.log 文件中;
      
          cat /var/log/mysqld.log | grep password
      
          mysql -u root -p
          
      1
      2
      3
      4
      5

      #### 在使用 Navicat for Mysql 连接 mysql 8.0 时会报如下错误

      ```html
      Authentication plugin 'caching_sha2_password' cannot be loaded:

mysql8.0 引入了新特性 caching_sha2_password;这种密码加密方式客户端不支持;客户端支持的是 mysql_native_password 这种加密方式;
可以使用命令将他修改成 mysql_native_password 加密模式:

1
update user set plugin='mysql_native_password' where user='root';

再用 Navicat 链接 就可以链接成功;

mysql_secure_installation
登陆 MySQL 删除空用户,修改 root 密码

1
2
3
4
5
select user,host,password from mysql.user;
drop user ''@localhost;
update mysql.user set password = PASSWORD('*********') where user='root';
flush privileges;
service mysqld restart

ECS 设置

在服务器控制台找到 安全组 - 配置规则 - 添加安全组规则

拷贝 80 端 口的就行,将协议类型 改成 mysql 的 3306,其他不变

ftp

1
2
3
4
ssh root @120.24.49.59
rpm -q vsftpd #看看装了没
yum install vsftpd
vim /etc/vsftpd/vsftpd.conf

然后在里成找到:‍
anonymous_enable=YES
改成:
anonymous_enable=NO # 不允许匿名访问
cd /etc/vsftpd/
ls
ftpusers 与 user_list 删除 root 那行
新版:systemctl start vsftpd
老版:sudo service vsftp restart/start
chkconfig vsftpd on
修改 ftp 默认地址
直接修改/etc/passwd 文件,php-fpm,改/home/php-fpm 为想要的目录

mindoc

安装 go 语言环境(

golang
1、先安装 EPEL 源:
yum install epel -y
2、然后使用 yum 安装 Golang:
yum install go -y
3、环境变量:/usr/lib/golang/bin
vim /etc/profile
添加如下内容:

1
2
3
export GOPATH=/usr/lib/golang
export PATH=$PATH:$GOPATH/bin
export GOROOT=/usr/local/go

使配置生效:

1
2
3
[root@localhost ~]# source /etc/profile
[root@localhost ~]# go version
go version go1.8.3 linux/amd6

安装 nginx

1
2
3
yum install nginx
service nginx start//sudo systemctl start nginx
chkconfig --levels 235 nginx on//sudo systemctl enable nginx

ps: error:

1
2
3
4
5
6
7
8
nginx: [emerg] socket() [::]:80 failed (97: Address family not supported by protocol)
解决办法:
vim /etc/nginx/conf.d/default.conf
listen 80 default_server;
listen [::]:80 default_server;
修改为:
listen 80;
#listen [::]:80 default_server;

nginx 网站访问限制设置

1、nginx.conf 中设置
server{
auth_basic “C___:6”; //提示
auth_basic_user_file /…/passwd.db; //密码文件地址
}
2、创建/…/passwd.db 文件
user1:passwd
3、yum install httpd;
htpasswd /…/passwd.db user1 //更新密码
4、重启 nginx
sudo service nginx restart
上传限制:nginx
http 内
client_max_body_size 30m;

glibc

第一、查看系统 glibc 版本库
strings /lib64/libc.so.6 |grep GLIBC*
这里我们可以看到系统中最新的版本是 2.12,这里我们升级 2.14.
第二、下载和安装 glibc2.14
wget http://ftp.gnu.org/gnu/glibc/glibc-2.14.tar.gz
tar -xzvf glibc-2.14.tar.gz
cd glibc-2.14
mkdir build
cd build
../configure –prefix=/opt/glibc-2.14
make && make install
编译安装过程时间比较长。
第三、创建软链接
1、删除原来软链
rm -rf /lib64/libc.so.6 //谨慎操作后不要乱动
2、解决补救问题
LD_PRELOAD=/opt/glibc-2.14/lib/libc-2.14.so ln -s /opt/glibc-2.14/lib/libc-2.14.so /lib64/libc.so.6
因为操作删除软链接后系统无法操作任何命令,我们需要复制上命令操作后才可以。(要谨慎)
3、创建新软链接
ln -s /opt/glibc-2.14/lib/libc-2.14.so /lib64/libc.so.6
第四、查看当前新的 glibc 版本库
strings /lib64/libc.so.6 |grep GLIBC*

1、修改全局环境变量

下载最新版:https://github.com/lifei6671/mindoc/releases

第一步 下载可执行文件

请从 https://github.com/lifei6671/mindoc/releases 下载最新版的可执行文件,一般文件名为 mindoc_linux_amd.tar.gz 或 mindoc_linux_amd64.zip 。
上传到/root/mindoc/
vi /etc/profile
export PATH=$PATH:/root/mindoc/lib/time/zoneinfo.zip

2、创建数据库
CREATE DATABASE mindoc_db DEFAULT CHARSET utf8mb4 COLLATE utf8mb4_general_ci;
三步 创建数据库 如果你使用的 mysql 数据库,请创建一个编码为 utf8mb4 格式的数据库,如果没有 GUI 管理工具,推荐用下面的脚本创建:

CREATE DATABASE mindoc_db DEFAULT CHARSET utf8mb4 COLLATE utf8mb4_general_ci;
请将刚才解压目录下 conf/app.conf.example 重名为 app.conf:

cp conf/app.conf.example conf/app.conf
同时配置如下节点:

数据库配置

db_adapter=mysql

mysql 数据库的 IP

db_host=127.0.0.1

mysql 数据库的端口号一般为 3306

db_port=3306

刚才创建的数据库的名称

db_database=mindoc_db

访问数据库的账号和密码

db_username=root
db_password=123456
2、上传 mindoc 至 root
cd /root/mindoc
chmod +x mindoc_linux_amd64

安装服务
./mindoc_linux_amd64 service install
启动服务
./mindoc_linux_amd64

在 Linux 如果想让程序后台运行可以执行如下命令:

使程序后台运行

nohup ./mindoc &

    1. deq
    1. d
      conf 中
      httpport = 8181
      改为 httpport = 80

MinDoc 0.4 以上版本支持在 Linux 和 Windows 上以服务的方式后台执行,命令如下:

安装服务
./mindoc_linux_amd64 service install
卸载服务
./mindoc_linux_amd64 service remove
执行服务安装后,会创建一个以 mindocd 为服务名的服务。

默认用户:admin 密码:123456

主要技术
beego 1.9.2
editor.md
bootstrap 3.2
jquery 1.8
layer 弹出层框架
webuploader 文件上传框架
Nprogress 库
jstree
font awesome 字体库
cropper 图片剪裁库

主要功能
已现在:

项目管理,可以对项目进行编辑更改,成员添加等。
文档管理,添加和删除文档,文档历史恢复等。
用户管理,添加和禁用用户,个人资料更改等。
用户权限管理 , 实现用户角色的变更。
项目加密,可以设置项目公开状态,私有项目需要通过 Token 访问。
站点配置,二次开发时可以添加自定义配置项。
附件管理,可管理所有项目中上传的文件。
项目导出,目前支持导出 PDF 格式项目。
标签管理,可关系已存在的项目标签
待实现

系统日志

给博主来一杯卡布奇诺