标签:字符 adb 必须 组策略 odi 控制台 依赖性 模块 centos
必读经典:<鸟哥的私房菜>
https://blog.csdn.net/qq_39038465/article/details/81478847 虚拟机安装Centos
https://blog.csdn.net/qq_39135287/article/details/83993574 Centos安装
ifconfig 不能用
3. 更改联网方式
3.1 虚拟联网方式
桥连接: 工作中需要的,虚拟机相当于一台独立电脑!
NAT连接: 共享主机网络!
HOST-Only :仅主机
ipconfig -all # address /addr
ifconfig
yum -y install net-tools # -y 表示忽略安装提示
3.1 配置网络
ifconfig # 如果有ip, 肯定可用了!
service network status # 查看网络状态,可用为activae
cat /etc/sysconfig/network-scripts/ifcfg-ens33
必改项: ONBOOT="yes" #打开网络开关
servie network restart
ifconfig # 自动分配IP地址
vi /etc/sysconfig/network-scripts/ifcfg-ens33
安鼠标i键盘进入编辑模式 修改内容
按ESC 退出
:wq 保存并退出
:q! 不保存退出
YPE="Ether net" # 网络类型,以太网
BOOTPROTO="static" # 改为静态IP
IPADDR="172.16.44.xxx" # IP地址
NETMASK="255.255.255.0" # 子网掩码
GATEWAY="172.16.44.254" # 网关
DNS1="202.106.0.20" # 首选DNS
ONBOOT="yes" # 是否可以上网(默认为ON)
4.客户端连接远程服务器
查看linxu的IP地址
SSH客户端连接
FTP文件上传工具
本机上传文件到服务器使用ftp协议! 以下都是FTP协议软件!
5. Linux目录结构(重要)
6. 常用Linux指令梳理
查看常用命令文档!
7. 软件下载方式
从yum 软件源直接下载 yum install -y 软件名
wget指令从网络地址中下载
bin 存放二进制可执行文件(ls,cat,mkdir等)
boot 存放用于系统引导时使用的各种文件
dev 用于存放设备文件
etc 存放系统配置文件
home 存放所有用户文件的根目录
lib 存放跟文件系统中的程序运行所需要的共享库及内核模块
mnt 系统管理员安装临时文件系统的安装点
opt 额外安装的可选应用程序包所放置的位置
proc 虚拟文件系统,存放当前内存的映射
root 超级用户目录
sbin 存放二进制可执行文件,只有root才能访问
tmp 用于存放各种临时文件
usr 用于存放系统应用程序,比较重要的目录/usr/local 本地管理员软件安装目录
var 用于存放运行时需要改变数据的文件
8. 安装Python
python3.x+ mysql+ uwsig+nginx+django/flask等第三方依赖库(虚拟环境中)
8.1 安装Python
centos 默认安装了2.7.5
安装Python3.x, 实现方式:添加python3指令--->软件连接指向Python3.6
源码安装
rpm -qa|grep "wget"
yum install -y wget
cd /soft # 自己在根目录新建了一个soft软件文件夹!
wget https://www.python.org/ftp/python/3.6.6/Python-3.6.6.tgz
python -V
which python #查看python命令位置
cd /usr/bin
ls -al python* # 看到解析 python--->python2 --->python2.7
yum update -y # 建议更新完后,制作一个镜像!!
yum -y groupinstall "Development tools"
8.2 卸载Python
yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel
sqlite-devel psmisc libffi-devel
cd /soft
cp Python-3.6.6.tgz /usr/local/ #复制到/usr/local下
tar -zxvf Python-3.6.6.tgz
cd Python-3.6.6
./configure --prefix=/usr/local/python3 # [一定确保开发工具包已经下载成功]
cd /usr/local/Python-3.6.6
make && make install # 建议先执行 make 再执行 make install
ln -s /usr/local/python3/bin/python3.6 /usr/bin/python3
python3 -V # 能打印版本号,成功
ln -s /usr/local/python3/bin/pip3.6 /usr/bin/pip3
pip3 -V
pip3 list #提示版本太低 [注意:pip list 可能会报错!]
python3 -V #打印版本号
pip3 -V #打印pip版本号
pip3 list #查看默认虚拟环境中的依赖列表
pip3 install --upgrade pip # 更新版本
cd /usr/bin
ls -al python*
ls -al pip*
9. 建虚拟环境下载依赖库
9.1 建目录
建虚拟环境
virtualenv /virtualenvwrapper
venv Python3.3以后自带的虚拟环境管理软件
pipenv pip 和virtualenv的结合版!
9.2 自带的venv创建虚拟环境!
rm -rf pip3
rm -rf python3
cd /usr/local
rm -rfPython-3.6.6
mkdir -p /data/env # env表示虚拟环境目录
mkdir -p /data/wwwroot # 后期存放项目源码目录
cd /data/env
python3 -m venv my_env01 # 新建虚拟环境 my_env01
cd /data/env/my_env01/bin
source activate
pip list # 虚拟环境内部 pip 可用!
pip install django ==2.1.8
pip uninstall django
pip freeze > rquirements.txt
pip install -r rquirements.txt
9.3 使用virtualenv 管理虚拟环境
下载 virtualenv pip3 install virtualenv
cd /data/env
virtualenv --python=/usr/bin/python my_env02
cd /data/env/my_env02/bin
source activate #激活
pip list
pip install xxx
pip uninstall xxx
deactivate #退出
9.4 下载uwsgi
虚拟环境中下载uwsgi
9.4 源码安装nginx
cd /data/env/my_env/bin
soruce activate
pip install django==2.1.8
pip install uwsgi
ln -s /data/env/my_env01/bin/uwsgi /usr/bin/uwsgi
deactivate
cd /usr/local
wget http://nginx.org/download/nginx-1.13.7.tar.gz
tar -zxvf nginx-1.13.7.tar.gz
./configure --prefix=/usr/local/nginx #指定安装目录
make
make install
cd /nginx/sbin/
./nginx #启动
./nginx -s stop/reload
停止 重新启动
curl 127.0.0.1:80
systemctl stop firewalld.service
http://172.16.44.40:80 #就可以访问到欢迎页面!
查看软件端口判断软件是否运行
netstat -atunp
kill pid编号
kill -9 pip编号 # 强制关闭 #一般需要关好几遍!
9.5 yum安装nginx
Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell
前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动
处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。
常用yum指令
yum安装nginx
配置官方镜像源,这里baseurl里面有$basearch变量,用来检索yum命令安装所需要的包。yum
yum list installed
yum list tomcat
yum remove tomcat
yum deplist tomcat
yum -y install tomcat
yum info tomcat
yum update
yum update tomcat
yum check-update
yum安装python3.6
安装uwsgi
9.6 测试外网是否访问nginx默认页面
$ vi /etc/yum.repos.d/nginx.repo
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=0
enabled=1
$ yum -y install nginx
$ systemctl enable nginx
server nginx start
server nginx stop
server nginx restart
$ yum -y install python36 python36-devel
$ cd /opt
$ python3.6 -m venv py36 # py3 为虚拟环境名称, 可自定义
$ source /opt/py36/bin/activate
(py36) [root@nn py36]# ls
bin include lib lib64 pyvenv.cfg
(py3) [root@localhost py3]
$ pip install --upgrade pip setuptools
$ pip install -r requirements.txt
yum install gcc -y
(py36) [root@nn mywebapp]# pip install uwsgi
Successfully installed uwsgi-2.0.18
whereis nginx
netstat -atunp #80有表示ngxin启动了!
cd /usr/local/nginx/sbin
./nginx #启动
./nginx -s reload/stop #重启/停止
10.安装sqlite3
https://jianrry.com/index.php/archives/10/
curl 127.0.0.1:80
安全组--添加安全策略 入口/出口方向
http://阿里云服务器域名:80
http://39.98.39.17:80 #成功
cd /usr/local
wget http://www.sqlite.org/2015/sqlite-autoconf-3081101.tar.gz
tar zxvf sqlite-autoconf-3081101.tar.gz
cd sqlite-autoconf-3081101/
./configure
make &&make install
yum install sqlite-devel
测试:
sqlite3
退出
.quit
python3
import sqlite3 #没有报错说明正常
11 发布项目
[uwsgi]
socket=127.0.0.1:8000
chdir=/data/wwwroot/web01/
wsgi-file=web01/wsgi.py
processes=4
threads=2
master=True
pidfile=uwsgi.pid
daemonize=uwsgi.log
2. 删除项目中sqlite配置
默认Centos中无sqlite3 ,需要单独安装.
3. 项目上传到/data/wwwroot/下
4. 配置nginx.conf
cp nginx.conf nginx.conf.bak
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
server {
listen 80;
server_name www.django.cn; #改为自己的域名,没域名修改为127.0.0.1:80
charset utf-8;
location / {
include uwsgi_params;
uwsgi_pass 127.0.0.1:8000; #端口要和uwsgi里配置的一样
uwsgi_param UWSGI_SCRIPT web01.wsgi; #wsgi.py所在的目录名+.wsgi
uwsgi_param UWSGI_CHDIR /data/wwwroot/web01/; #项目路径
}
location /static/ {
alias /data/wwwroot/web01/static/; #静态资源路径
}
}
}
5. 测试django项目是否正常启动
6 启动uwsgi
uwsgi处理动态请求能力高,但是对于静态请求(静态文件)处理能力就不是很好,就需要结合
nginx使用。
cd /data/env/my_evn01/bin
source activate
python manage.py runserver 0.0.0.0:8000
http://IP地址:8000 #--->成功
curl 127.0.0.1:8000 # --->成功显示
cd /data/env/my_env01/bin
source activate
cd /data/wwwroot/web01
uwsgi --ini uwsgi.ini #启动
cd /usr/local/nginx/sbin/
./nginx -t # 检测配置文件语法
./nginx #启动nginx
./nginx -s stop # 停止
./nginx -s reload # 重启
netstat -atunp #查看80 端口是否启动了!
curl 127.0.0.1:80 #本机测试访问
python3 -V
pip3 -V
cd /data/env/my_env01/bin
source activate
pip3 list # 有django, uwsgi
cd /data/wwwroot/web01/
python manage.py runserver 0.0.0.0:8000
http://IP地址:8000
http://172.16.44.40
curl 127.0.0.1:8000
uwsgi --ini uwsgi.ini #启动
netstat -atunp #可以看到8000端口已经启动!
cd /usr/local/nginx/sbin/
./nginx -t # 检测配置文件语法
./nginx #启动nginx
./nginx -s stop # 停止
./nginx -s reload # 重启
netstat -atunp #查看80 端口是否启动了!
curl 127.0.0.1:80 #本机测试访问
http://172.16.44.40
解析成功
分析ngxin配置文件是否正确
查看nginx 错误信息
13 Mysql数据库(Mariadb)
卸载mysql
MariaDB 数据库管理系统是 MySQL 的一个分支,主要由开源社区在维护,采用 GPL 授权许可。开发这
个分支的原因之一是:甲骨文公司收购了 MySQL 后,有将 MySQL 闭源的潜在风险,因此社区采用分支
的方式来避开这个风险。MariaDB完全兼容mysql,使用方法也是一样的
有的centos7已经默认安装了Mariadb,可以查看自己的有没有安装,没有安装的再进行安装,已经安装
了可以不用安装也可以卸载了重装。卸载命令 yum remove mariadb-server
1、安装MariaDB
通过yum安装就行了。简单快捷,安装mariadb-server,默认依赖安装mariadb,一个是服务端、一个
是客户端。
2、配置MariaDB
1)安装完成后首先要把MariaDB服务开启,并设置为开机启动
2)首次安装需要进行数据库的配置,命令都和mysql的一样
3)配置时出现的各个选项
1 [root@mini ~]# cat /etc/redhat-release
2 CentOS Linux release 7.5.1804 (Core)
3 [root@mini ~]#
[root@mini ~]# yum install mariadb-server
[root@mini ~]# systemctl start mariadb # 开启服务
[root@mini ~]# systemctl enable mariadb # 设置为开机自启动服务
[root@mini ~]# mysql_secure_installation
Enter current password for root (enter for none): # 输入数据库超级管理员root的密码
(注意不是系统root的密码),第一次进入还没有设置密码则直接回车
Set root password? [Y/n] # 设置密码,y
New password: # 新密码
Re-enter new password: # 再次输入密码
Remove anonymous users? [Y/n] # 移除匿名用户, y
4)测试是否能够登录成功,出现 MariaDB [(none)]> 就表示已经能够正常登录使用MariaDB数据库了
3、设置MariaDB字符集为utf-8
1)/etc/my.cnf 文件
在 [mysqld] 标签下添加
2)/etc/my.cnf.d/client.cnf 文件
在 [client] 标签下添加
3)/etc/my.cnf.d/mysql-clients.cnf 文件
在 [mysql] 标签下添加
4)重启服务
Disallow root login remotely? [Y/n] # 拒绝root远程登录,n,不管y/n,都会拒绝root远程
登录
Remove test database and access to it? [Y/n] # 删除test数据库,y:删除。n:不删除,
数据库中会有一个test数据库,一般不需要
Reload privilege tables now? [Y/n] # 重新加载权限表,y。或者重启服务也许
[root@mini ~]# mysql -u root -p
Enter password:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 8
Server version: 5.5.60-MariaDB MariaDB Server
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type ‘help;‘ or ‘\h‘ for help. Type ‘\c‘ to clear the current input statement.
MariaDB [(none)]>
init_connect=‘SET collation_connection = utf8_unicode_ci‘
init_connect=‘SET NAMES utf8‘
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
default-character-set=utf8
default-character-set=utf8
[root@mini ~]# systemctl restart mariadb
5)进入mariadb查看字符集
MariaDB [(none)]> show variables like "%character%";show variables like
"%collation%";
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.01 sec)
+----------------------+-------------------+
| Variable_name | Value |
+----------------------+-------------------+
| collation_connection | utf8_general_ci |
| collation_database | latin1_swedish_ci |
| collation_server | latin1_swedish_ci |
+----------------------+-------------------+
3 rows in set (0.00 sec)
MariaDB [(none)]>
MariaDB [(none)]> show variables like "%character%";show variables like
"%collation%";
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)
+----------------------+-----------------+
| Variable_name | Value |
+----------------------+-----------------+
| collation_connection | utf8_unicode_ci |
| collation_database | utf8_unicode_ci |
4、远程链接mariadb数据库
mariadb默认是拒绝 root 远程登录的。这里用的是 navicat 软件连接数据库
1)关闭防火墙
① 关闭防火墙 systemctl stop firewalld
② 在不关闭防火墙的情况下,允许某端口的外来链接。步骤如下,开启3306端口,重启防火墙
2)先查看mysql数据库中的user表
3)将与主机名相等的字段改为 "%" ,我的主机名为mini,
| collation_server | utf8_unicode_ci |
+----------------------+-----------------+
3 rows in set (0.00 sec)
MariaDB [(none)]>
[root@mini ~]# systemctl stop firewalld
[root@mini ~]# firewall-cmd --query-port=3306/tcp # 查看3306端口是否开启
no
[root@mini ~]# firewall-cmd --zone=public --add-port=3306/tcp --permanent # 开启
3306端口
success
[root@mini ~]# firewall-cmd --reload # 重启防火墙
success
[root@mini ~]# firewall-cmd --query-port=3306/tcp # 查看3306端口是否开启
yes
[root@mini ~]# mysql -u root -p # 先通过本地链接进入数据库
MariaDB [(none)]> use mysql;
MariaDB [mysql]> select host, user from user;
+-----------+------+
| host | user |
+-----------+------+
| 127.0.0.1 | root |
| ::1 | root |
| mini | root |
+-----------+------+
3 rows in set (0.00 sec)
4)刷新权限表,或重启mariadb服务,一下二选一即可
注意:刷新权限表是在数据库中,重启服务是在外部命令行中
6)重新远程链接mariadb
MariaDB [mysql]> update user set host=‘%‘ where host=‘mini‘;
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0
MariaDB [mysql]> select host, user from user;
+-----------+------+
| host | user |
+-----------+------+
| % | root |
| 127.0.0.1 | root |
| localhost | root |
+-----------+------+
3 rows in set (0.00 sec)
MariaDB [mysql]> flush privileges;
Query OK, 0 rows affected (0.00 sec)
[root@mini ~]# systemctl restart mariadb
14. 多域名配置
https://www.django.cn/article/show-4.html#duo
15. HTTPS
https://www.django.cn/article/show-4.html#ssl
免费SSL证书申请
https://common-buy.aliyun.com/?
spm=5176.15089375.5806769250.1.4d241232910KYQ&commodityCode=cas#/buy
https://buy.cloud.tencent.com/ssl
14 .域名申请和阿里云服务器介绍
域名: 就是方便记忆的网址
www开头的是一级域名 需要购买! 只有1个!(www.zhouzhengyang.cn)
不以www开头,是二级域名或子域名 1个一级域名可包含N个子域名
服务器: 24小时运行的大硬盘,大内存,大CPU 高性能的电脑!
项目资源和数据等都存储在服务器上!
服务器需要花钱买,需要在国家工信部备案!!!!
域名和服务器从各云平台上购买
阿里云
www.zhouzhengyang.cn
api.zhouzhengyang.cn #接口
m.zhouzhengyang.cn #手机版
music.zhouzhengyang.cmn # 音乐
tieba.zhouzhengyang.cmn # 社区中心
百度云
腾讯云
华为云
建议购买学生机!
注意:
域名和服务器可以在不同平台买
域名在阿里云上买的
云服务器在腾讯云买的
买完的服务器最核心的
ip
用户名和密码
域名要解析到服务器
服务器要备案(阿里云首页有备案连接)
服务器控制台介绍
登陆进入控制台
点击云服务器
查看服务器公网IP和密码
IP:
root账号密码: 忘记可以在服务器详情介绍中充值
使用客户端连接服务器/FTP软件上传文件
配置安全组策略(实现开放某些IP就是防火墙)
云服务器,必须手动配置. 打开某些端口,允许外网访问!
注意:允许访问端口列表分为两个方向: 出口方向,入口方向
DNS域名解析
进入域名管理控制台
点击域名解析
添加解析记录
进入控制台
域名列表
添加记录
注意:只能成功1次!,然后会提示需要备案
服务器备案
标签:字符 adb 必须 组策略 odi 控制台 依赖性 模块 centos
原文地址:https://www.cnblogs.com/ln-xxx/p/13902846.html