RPM软件包管理器
链接:Linux系统基础优化及常用命令(底部)
1.查看yum源仓库
2.查看CentOS-Base.repo文件
3.配置yum源
https://opsx.alibaba.com/mirror 找到这个网站,然后找到centos ——》帮助 ——》centos7
执行下载阿里云yum源
要养成做事先备份的好习惯然后下载资源
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
-o 指定下载路径 将文件下载到 CentOS-Base.repo 文件中
yum clean all 清空yum软件源
yum makecache 生成缓存
4.再次查看yum源仓库,yum.repos.d 文件中就会出现下载的内容
5.安装epel源,用于下载第三方额外的软件(nginx,redis等等)
yum install -y epel-release # 利用 yum 安装(install) epel源(epel-release) 并确认(-y)
6.安装nginx软件测试
yum install nginx -y
7.系统服务管理命令
systemctl start nginx 启动nginx服务
systemctl stop nginx 关闭 nginx 服务
systemctl restart nginx 重启 nginx 服务
8.此时浏览器访问10.0.0.10
关于Linux的应用安装方式
Linux的安装方式有两种:yum安装 编译安装
yum安装简单省事,但安装性能差:yum安装无法按照自己的意志进行安装,
yum install XXX -y 安装XXX程序
systemctl start XXX 启动XXX程序
他的过程你根本无法插手,
编译安装的优势是
- 编译安装时可以指定扩展的module(模块),php、Apache、nginx都是一样有很多第三方模块,如mysql,编译安装时,需要定制储存引擎(innodb、mylasm)
- 编译安装可以统一路径,Linux软件约定安装目录在/opt/下面
- 软件仓库版本一般比较低,编译源码安装可以根据需求,安装最新版本
lrzsz文件的上传下载
yum install lrzsz -y
sz 文件名 上传(基于Linux) rz 文件名 下载(基于Linux)
Linux网络部分
在我们刚装好linux的时候,需要用xshell进行远程连接,那就得获取ip地址,有时候网卡默认是没启动的,Linux也就拿不到ip地址,因此我们得手动启动网卡
#编辑网卡配置文件
vim /etc/sysconfig/network-scripts/ifcfg-eth0
#修改配置参数
ONBOOT=yes
# 简化为
ifconfig 查询、设置网卡和ip等参数
直接输入ifconfig会列出已经启动的网卡,也可以输入ifconfig eth33单独显示eth33的信息
各选项解释是:
eth33 网卡的代号
lo 回环地址loopback
inet IPv4的Ip地址netmask 子网掩码
broadcast 广播地址
RX/TX 流量发/收情况 ,tx是发送(transport),rx是接收(receive)
packets 数据包数
errors 数据包错误数
dropped 数据包有问题被丢弃的数量
collisions 数据包碰撞情况,数值太多代表网络状况差
ifup、ifdown 脚本命令,更简单的启动关闭网络?????
ifup和ifdown是直接连接到/etc/sysconfig/network-scripts目录下搜索对应的网卡文件
ifup 网卡号 启动网卡
ifdown 网卡号 关闭网卡
ip 符合指令,直接修改上述功能
这个ip命令是结合了ifconfig和route两个命令的功能。ip addr show #查看ip信息
cat /etc/redhat-release # 查看系统版本信息
unmae -r # 查看内核版本号
uname -m # 查看系统多少位
uname -a # 查看内核所有信息
tree命令
可以更形象的展示文件夹的关系
下载:yum install tree -y
测试 :tree 文件夹
安装python3
1安装python前的库环境,非常重要
yum install gcc patch libffi-devel python-devel zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel -y
下载安装
wget https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tar.xz
xz -d Python-3.6.2.tar.xz
tar -xf Python-3.6.2.tar
# 可以直接调用 tar -xf Python-3.6.2.tar.xz# 编译安装
yum install gcc -y # 安装 gcc
./configure --prefix=/opt/python # 释放编译文件,指定python3的安装路径
make # 编译,用于从makefile 中读取指令,然后编译
make install # 安装,从makefile 中读取命令,然后将python安装到 /opt/python
make && make install # 两步合成一步
注意:
下载后得到的是 Python-3.6.2.tar.xz压缩包,
解压缩后得到 python3.6 安装程序
make install 之后得到的是 python程序
django
下载django
pip install django==版本号(使用pip还是pip3,看实际情况)
创建项目
django-admin startproject 项目名称
启动项目
python3 manage.py runserver ip+端口
安装redis
Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件
高速缓存介绍
高速缓存利用内存保存数据,读写速度远超硬盘(腾讯的微信红包,使用redis)
高速缓存可以减少i/o操作,降低i/o压力
redis是wmware开发的开源免费的kv型NoSQL缓存产品
redis具有很好的性能,最多可以提供10万次/秒的读写
目前新浪微博团队组建了世界上最大规模的redis
第一种方法:yum安装
1、配置好阿里云yum源,epel源
2、查看是否有redis包:yum list redis
3、安装redis : yum install redis -y
4、启动redis :systemctl start redis
5、检验是否工作:
redis-cli 进入redis 客户端
进入交互式环境后,执行ping,返回pong 表示安装成功 (查看服务端是否开启:ps -ef netstat -tunlp | grep redis)
第二种方法:编译安装
1、下载源码
wget http://download.redis.io/releases/redis-4.0.10.tar.gz
2、解压缩
tar -zxf redis-4.0.10.tar.gz
3、切换redis源码目录
cd redis-4.0.10
4、无需释放编译文件,直接进行编译、安装
make && make install
至此redis 默认安装到了 /usr/local/bin
redis可执行文件
./redis-benchmark //用于进行redis性能测试的工具 ./redis-check-dump //用于修复出问题的dump.rdb文件 ./redis-cli //redis的客户端 ./redis-server //redis的服务端 ./redis-check-aof //用于修复出问题的AOF文件 ./redis-sentinel //用于集群管理
启动redis服务端
在 /usr/local/bin 目录中输入 ./redis-sercer 启动服务器
直接执行redis-server会在前端直接运行,也就是说:关闭当前回话,则redis服务也随之关闭,正常情况下,redis需要从后台启动,并指定启动配置文件。
后台启动redis服务
1、进入你的安装程序(源码解压缩后的目录)
2、找到一个redis.conf文件
3、编辑redis.conf文件
4、保存退出后,再启动redis
5、进入redis
#执行客户端命令即可进入 ./redis-cli #测试是否连接上redis 127.0.0.1:6379 > ping 返回pong代表连接上了 //用set来设置key、value 127.0.0.1:6379 > set name "chaoge" OK //get获取name的值 127.0.0.1:6379 > get name "chaoge"
链接: redis博客
redis安全
在使用云服务器时,安装的redis3.0+版本都关闭了protected-mode,因而都遭遇了挖矿病毒的攻击,使得服务器99%的占用率!!
因此我们在使用redis时候,最好更改默认端口,并且使用redis密码登录。
1、找到redis.conf(在安装目录中)
在底线模式 :set nu 显示行号
在命令模式:/prot 查找关键词
在底线模式::行号 转跳
protected-mode yes #打开保护模式 port 6380 #更改默认启动端口 requirepass xxxxxx #设置redis启动密码,xxxx是自定义的密码修改完后,
执行命令 : redis-server /root/redis-4.0.10/redis.conf (家目录~ 的下面) 加载配置文件
启动服务端
redis-cli -p 6380 (调用6380的端口)
关于密码的设置和查询
这样你的redis就不容易被黑客入侵了
热加载和redis-server /root/redis-4.0.10/redis.conf的区别
热加载
在重启服务器的情况下,重新加载文件
redis。。。
在调用redis.conf文件的情况下重新加载
redis.conf文件中有些特殊的配置(端口、密码)
yum安装mysql(mariadb)
yum install mariadb-server mariadb # 安装
systemctl start mariadb #启动MariaDB
systemctl stop mariadb #停止MariaDB
systemctl restart mariadb #重启MariaDB
systemctl enable mariadb #设置开机启动
在确认 MariaDB 数据库软件程序安装完毕并成功启动后请不要立即使用。为了确保数据库的安全性和正常运转,需要先对数据库程序进行初始化操作。
这个初始化操作涉及下面 5 个 步骤。
? 设置 root 管理员在数据库中的密码值(注意,该密码并非 root 管理员在系统中的密 码,这里的密码值默认应该为空,可直接按回车键)。
? 设置 root 管理员在数据库中的专有密码。
? 随后删除匿名账户,并使用 root 管理员从远程登录数据库,以确保数据库上运行的业 务的安全性。
? 删除默认的测试数据库,取消测试数据库的一系列访问权限。
? 刷新授权列表,让初始化的设定立即生效。
确保mariadb服务器启动后,执行命令初始化
mysql_secure_installation
初始化mysql
登录mariadb和在cmd上登录mysql是一样的
基本命令和mysql是相同的
创建用户
mysql使用grant命令对账户进行授权,grant命令常见格式如下
grant 权限 on 数据库.表名 to 账户@主机名 对特定数据库中的特定表授权 grant 权限 on 数据库.* to 账户@主机名 对特定数据库中的所有表给与授权 grant 权限1,权限2,权限3 on *.* to 账户@主机名 对所有库中的所有表给与多个授权 grant all privileges on *.* to 账户@主机名 对所有库和所有表授权所有权限
退出数据库,使用root登录,开始权限设置
MariaDB [(none)]> grant all privileges on *.* to [email protected]; MariaDB [mysql]> show grants for [email protected];
移除权限
MariaDB [(none)]> revoke all privileges on *.* from [email protected];
配置mysql
编辑mysql配置文件/etc/my.cnf [mysqld] character-set-server=utf8 datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock collation-server=utf8_general_ci security risks symbolic-links=0 log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid [client] default-character-set=utf8 [mysql] default-character-set=utf8
中文编码设置
远程连接设置哦设置所有库,所有表的所有权限,赋值权限给所有ip地址的root用户 mysql > grant all privileges on *.* to [email protected]‘%‘ identified by ‘password‘; #创建用户 mysql > create user ‘username‘@‘%‘ identified by ‘password‘; #刷新权限 flush privileges;
授权配置
数据库的备份与恢复
mysqldump命令用于备份数据库数据
[[email protected] ~]# mysqldump -u root -p --all-databases > /tmp/db.dump
进入mariadb数据库,删除一个db
[[email protected] ~]# mysql -uroot -p MariaDB [(none)]> drop database s11;
进行数据恢复,把刚才重定向备份的数据库文件导入到mysql中
[[email protected] ~]# mysql -uroot -p < /tmp/db.dump
nginx
nginx是一个开源的,支持高性能,高并发的www服务和代理服务软件。它是一个俄罗斯人lgor sysoev开发的,作者将源代码开源出来供全球使用。 nginx比它大哥apache性能改进许多,nginx占用的系统资源更少,支持更高的并发连接,有更高的访问效率。 nginx不但是一个优秀的web服务软件,还可以作为反向代理,负载均衡,以及缓存服务使用。 安装更为简单,方便,灵活。 nginx可以说是非常nb了
一. gcc 安装 安装 nginx 需要先将官网下载的源码进行编译,编译依赖 gcc 环境,如果没有 gcc 环境,则需要安装: yum install gcc-c++ 二. PCRE pcre-devel 安装 PCRE(Perl Compatible Regular Expressions) 是一个Perl库,包括 perl 兼容的正则表达式库。nginx 的 http 模块使用 pcre 来解析正则表达式,所以需要在 linux 上安装 pcre 库,pcre-devel 是使用 pcre 开发的一个二次开发库。nginx也需要此库。命令: yum install -y pcre pcre-devel 三. zlib 安装 zlib 库提供了很多种压缩和解压缩的方式, nginx 使用 zlib 对 http 包的内容进行 gzip ,所以需要在 Centos 上安装 zlib 库。 yum install -y zlib zlib-devel 四. OpenSSL 安装 OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及 SSL 协议,并提供丰富的应用程序供测试或其它目的使用。 nginx 不仅支持 http 协议,还支持 https(即在ssl协议上传输http),所以需要在 Centos 安装 OpenSSL 库。 yum install gcc patch libffi-devel python-devel zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel openssl openssl-devel -y
安装前的准备
1.下载源码包 wget -c https://nginx.org/download/nginx-1.12.0.tar.gz 2.解压缩源码 tar -zxvf nginx-1.12.0.tar.gz 3.配置,编译安装 ./configure --prefix=/opt/nginx1-12/ --with-http_ssl_module --with-http_stub_status_module make && make install 4.启动nginx,进入sbin目录,找到nginx启动命令 cd sbin ./nginx #启动 ./nginx -s stop #关闭 ./nginx -s reload #重新加载
安装、启动nginx
netstat -tunlp |grep 80 curl -I 127.0.0.1 #如果访问不了,检查selinux,iptables
在conf/nginx.conf文件中
由于咱们之前用yum装过一次nginx,因此yum帮你配置好了nginx的环境变量,可能就会影响你编译安装的nignx运行
因为运行的是yum的nginx,而你自己的编译nginx并没有启动
所以,果断点,yum remove nginx (删除yum下载的nginx)这时,你的nginx环境变量就没了
部署web站点
先在本地搞一个测试域名,就是编辑 hosts 那个文件 hosts文件在C:\Windows\System32\drivers\etc\hosts
在文件中添加 ip 域名
示例: 10.0.0.10 taobao.com
在nginx.conf 里面修改配置
打开访问日志,用于记录网站访问日志,防止被攻击
网站文件根路径配置
错误页面设置 也是在程序的html目录中,默认是404.html页面
配置文件设置好以后,进行检查并热加载(重启)
检查
重启后进行热加载
小结
中文乱码问题
进程管理问题
关于多个域名问题
还是在hosts文件中添加一个域名 10.0.0.10 ddm.com(如果不放心,就从网上输入这个域名,看看有没有响应页面)
接下来修改配置文件 nginx.conf
保存退出后,进行热加载(重启)生效
virtualenv
1、安装
pip3 install virtualenv (也可以用pip)
2、方便管理,创建一个Myproject 目录,并进入到目录中
mkdir Myproject
cd Myproject
3、创建独立运行环境
1)在哪里执行命令就在哪里生成运行环境
2)指定那个django版本,就生成哪个版本,否则默认生成系统环境中的django
4、激活虚拟环境
执行虚拟环境中的activate文件
5、检查环境变量
应用
1、找到你的项目(或者新建一个项目)并进入到项目中
python3 manage.py runserver 0.0.0.0:80
创建两个虚拟环境,分别安装django1.11.15,django2 ,然后用两个虚拟环境分别启动django项目
1.分别在虚拟环境下创建django项目
(my_venv_django1.11.15) [[email protected] /home/all_venv 22:15:02]$django-admin startproject mysite_v1
2.第二个虚拟环境创建django
(venv2) [[email protected] /home/all_venv 22:15:49]$django-admin startproject mysite_v2
3.分别修改django的settings.py文件,允许所有主机访问
ALLOWED_HOSTS = [‘*‘]
4.分别启动django,
python3 manage.py runserver 0.0.0.0:8000
python3 manage.py runserver 0.0.0.0:9000
zzz
原文地址:https://www.cnblogs.com/songzijian/p/9796933.html