centos-基础配置

0x01 安装python3

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
1. 准备编译环境
# yum -y install gcc make readline-devel sqlite-devel openssl openssl-devel zlib*

2. 编译安装
# wget -P /root http://python.org/ftp/python/3.6.4/Python-3.6.4.tar.xz
# tar xf Python-3.6.4.tar.xz
# cd Python-3.6.4/
# ./configure --prefix=/usr/local/python-3.6
# make && make install
# ln -s /usr/local/python-3.6/bin/python3.6 /usr/bin/python3
# ln -s /usr/local/python-3.6/bin/pip3.6 /usr/bin/pip3


3. 更改pip安装源为国内的源,比如aliyun
# mkdir ~/.pip
# vi ~/.pip/pip.conf

添加内容如下:
[global]
index-url = http://mirrors.aliyun.com/pypi/simple/

[install]
trusted-host=mirrors.aliyun.com

4. 准备virtualenv环境
# pip3 install virtualenv
# ln -s /usr/local/python-3.6/bin/virtualenv /usr/bin/virtualenv
# cd /home/www/flask_project
# virtualenv --no-site-packages --python=/usr/bin/python3 venv3

5. 安装相关python包
# source venv3/bin/active
(venv3)# pip3 install flask
依次安装完所有的依赖包后,
(venv3)# pip3 freeze > requirements.txt

6. 测试用Flask自带的服务器能否运行
(venv3)# python manage.py
列出虚拟环境列表
workon

也可以使用
lsvirtualenv

新建虚拟环境
mkvirtualenv [虚拟环境名称]

启动/切换虚拟环境
workon [虚拟环境名称]

删除虚拟环境
rmvirtualenv [虚拟环境名称]

离开虚拟环境
deactivate

0x02 安装Firewall

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
# yum install -y firewalld
# systemctl start firewalld
# systemctl enable firewalld
# systemctl restart firewalld.
# systemctl status firewalld
# systemctl stop firewalld
# firewall-cmd --list-all
firewall-cmd --zone=work --add-service=smtp

# 配置firewalld
# 移除服务
firewall-cmd --zone=work --remove-service=smtp
# 显示支持的区域列表
firewall-cmd --get-zones
# 设置为家庭区域
firewall-cmd --set-default-zone=home
# 查看当前区域
firewall-cmd --get-active-zones
# 设置当前区域的接口
firewall-cmd --get-zone-of-interface=enp03s
# 显示所有公共区域(public)
firewall-cmd --zone=public --list-all
# 临时修改网络接口(enp0s3)为内部区域(internal)
firewall-cmd --zone=internal --change-interface=enp03s
# 永久修改网络接口enp03s为内部区域(internal)
firewall-cmd --permanent --zone=internal --change-interface=enp03s


# 端口设置
# firewall-cmd --add-port=8081/tcp --permanent
# firewall-cmd --remove-port=9200/tcp --permanent
# ip和端口设置
# firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.1.1" port protocol="tcp" port="5000" accept"
# firewall-cmd --permanent --remove-rich-rule="rule family="ipv4" source address="192.168.1.1" port protocol="tcp" port="11300" accept"
# firewall-cmd --permanent --add-rich-rule="rule family='ipv4' source address='222.222.222.222' reject" 单个IP
# firewall-cmd --permanent --add-rich-rule="rule family='ipv4' source address='222.222.222.0/24' reject" IP段

# 服务设置
# 显示服务列表
Amanda, FTP, Samba和TFTP等最重要的服务已经被FirewallD提供相应的服务,可以使用如下命令查看:
firewall-cmd --get-services
# 允许SSH服务通过
firewall-cmd --enable service=ssh
# 禁止SSH服务通过
firewall-cmd --disable service=ssh
# 打开TCP的8080端口
firewall-cmd --enable ports=8080/tcp
# 临时允许Samba服务通过600秒
firewall-cmd --enable service=samba --timeout=600
# 显示当前服务
firewall-cmd --list-services
# 添加HTTP服务到内部区域(internal)
firewall-cmd --permanent --zone=internal --add-service=http
firewall-cmd --reload # 在不改变状态的条件下重新加载防火墙
# firewall-cmd --add-service=mysql # 开放mysql端口
# firewall-cmd --remove-service=http # 阻止http端口
# firewall-cmd --list-services # 查看开放的服务
# firewall-cmd --add-port=3306/tcp # 开放通过tcp访问3306
# firewall-cmd --remove-port=80tcp # 阻止通过tcp访问3306
# firewall-cmd --add-port=233/udp # 开放通过udp访问233
# firewall-cmd --list-ports # 查看开放的端口
# firewall-cmd --reload #重新加载

# 流量转发
# firewall-cmd --add-forward-port=port=80:proto=tcp:toport=8080 # 将80端口的流量转发至8080
# firewall-cmd --add-forward-port=port=80:proto=tcp:toaddr=192.168.0.1 # 将80端口的流量转发至192.168.0.1
# firewall-cmd --add-forward-port=port=80:proto=tcp:toaddr=192.168.0.1:toport=8080 # 将80端口的流量转发至192.168.0.1的8080端口

0x03 安装mysql

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
Centos7 Mysql57:
wget https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm
sudo rpm -ivh mysql57-community-release-el7-9.noarch.rpm
sudo yum install mysql-server
sudo systemctl start mysqld

# 获取临时密码
sudo grep 'temporary password' /var/log/mysqld.log

# 设置开机启动
sudo systemctl enable mysqld

# 安全设置
sudo mysql_secure_installation

# 修改密码
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '11111';

# 开放远程登录权限
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '11111' WITH GRANT OPTION;
mysql> FLUSH PRIVILEGES;
其它样列:
GRANT select,insert,update,delete on test.* to 'test'@'%' IDENTIFIED BY "11111";

GRANT select on test.* to 'test'@'%' IDENTIFIED BY "11111";
FLUSH PRIVILEGES;

0x04 Vue在nginx配置

1
2
3
4
5
6
vue在nginx上配置:
location / {
#default_type text/html;
#index index.html;
try_files $uri $uri/ /index.html;
}

0x05 Docker配置

1
2
3
4
5
创建容器:[这样可以使用systemctl启动服务了]
# docker run -d -name centos7 --privileged=true centos:7 /usr/sbin/init

进入容器:
# docker exec -it centos7 /bin/bash

0x06 Curl使用

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# POST请求
curl -H "Content-Type: application/json" -X POST --data '{"username":"admin", "password":"admin"}' http://127.0.0.1:5000/api/token/

# 如果要把这个网页保存下来,可以使用`-o`参数,这就相当于使用wget命令了
curl -o [文件名] www.sina.com

# `-i`参数可以显示http response的头信息,连同网页代码一起。
curl -i www.sina.com

# 假定文件上传的表单是下面这样:
  <form method="POST" enctype='multipart/form-data' action="upload.cgi">
    <input type=file name=upload>
    <input type=submit name=press value="OK">
  </form>

# 你可以用curl这样上传文件:
curl --form upload=@localfilename --form press=OK [URL]

curl --referer http://www.example.com http://www.example.com
curl --user-agent "[User Agent]" [URL]
curl --cookie "name=xxx" www.example.com

# `-c cookie-file`可以保存服务器返回的cookie到文件,`-b cookie-file`可以使用这个文件作为cookie信息,进行后续的请求。
curl -c cookies http://example.com
curl -b cookies http://example.com

# 有些网域需要HTTP认证,这时curl需要用到`--user`参数。
curl --user name:password example.com
坚持原创技术分享,您的支持将鼓励我继续创作!