day95
Linux基本部署配置及常见扩展应用
Linux软件包安装方法
1. 安装:
整个安装过程可以分为以下几步:
1) 取得应用软件:通过下载、购买光盘的方法获得;
2)解压缩文件:一般tar包,都会再做一次压缩,如gzip、bz2等,所以你需要先解压。如果是最常见的gz格式,则可以执行:“tar
–xvzf 软件包名”,就可以一步完成解压与解包工作。如果不是,则先用解压软件,再执行“tar –xvf 解压后的tar包”进行解包;
3) 阅读附带的INSTALL文件、README文件;
4) 执行“./configure”命令为编译做好准备;
5) 执行“make”命令进行软件编译;
6) 执行“make install”完成安装;
7) 执行“make clean”删除安装时产生的临时文件。
好了,到此大功告成。我们就可以运行应用程序了。但这时,有的读者就会问,我怎么执行呢?这也是一个Linux特色的问题。其实,一般来说,
Linux的应用软件的可执行文件会存放在/usr/local/bin目录下!不过这并不是“放四海皆准”的真理,最可靠的还是看这个软件的
INSTALL和README文件,一般都会有说明。
2. 卸载:
通常软件的开发者很少考虑到如何卸载自己的软件,而tar又仅是完成打包的工作,所以并没有提供良好的卸载方法。
那么是不是说就不能够卸载呢!其实也不是,有两个软件能够解决这个问题,那就是Kinstall和Kife,它们是tar包安装、卸载的黄金搭档。
rpm包管理
1.光盘挂载(只有将光盘挂在上一个文件,我们才能使用)
mount /dev/cdrom /mnt
cd /mnt
ls
2.安装rpm包
rpm -ivh vsftpd-3.0.2-22.el7.x86_64.rpm
rpm -Uvh vsftpd-3.0.2-22.el7.x86_64.rpm
3.卸载rpm
rpm -e vsftpd-3.0.2-22.el7.x86_64
4.rpm包的查询
rpm -q vsftpd
有则返回其文件名
rpm -q vsftp
无则返回没有安装该包
rpm -qa |grep vsf
在rpm文件下模糊搜索
which vim
查询vim的目录
rpm -qf /usr/bin/vim
查看某个文件下的某个包
5.补充
因为一些包之前存在着依赖关系,所以下载某些包时,需要先下载其依赖,但是有时候依赖有可能是这样的
A的依赖BC B的依赖DF F的依赖AC
如果出现这种情况我们可以:rpm -ivh a b c d e f
yum的使用
1.使用aliyun yum站点源
Base源:
cd /etc/yum.repos.d/
进入到该文件下进行操作
mv *.repo /tmp
先将原本的源文件移走,不然若先匹配到原有的源文件,会直接去匹配到的文件指向的地址下载
wget http://mirrors.aliyun.com/repo/Centos-7.repo
设置地址
EPEL源:
yum install -y epel-release
2.使用yum安装软件
yum install -y openssl openssl-devel
3.软件包查询及组安装
yum list |grep vsftpd
查询
yum grouplist
这是针对一个包的安装
yum groupinstall "Development Tools"
这是一个组的安装
4.卸载软件包
yum remove 包名
5.优化yum源
(1)本地镜像yum源(光盘挂载到/mnt下)
我们需要自己写一个后缀为repo的文件,格式如下
[local]
name=localios
baseurl=file:///mnt
gpgcheck=0
写完后,清缓存
yum clean all
(2)局域网yum源(ftp)
1.安装ftp软件
yum install -y vsftpd 2.启动ftp服务
systemctl start vsftpd
开启服务
systemctl enable vsftpd
开机自启动 3.创建站点目录,并将光盘软件拷贝其中
[root@python3 ~]# cp -a /mnt/* /var/ftp/pub/centos7 4.生成ftp站点的yum源配置文件
[ftp]
name=centos7
baseurl=ftp://10.0.0.100/pub/centos7
gpgcheck=0 5.安装软件测试
yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel gcc gcc-c++ openssl-devel zlib zlib-devel -y
源码包应用
1.解压
压缩格式:
.zip
unzip xxx.zip
.tar
.tar.gz
.tgz
.tar.bz2
.tar.xz
解压方式(需要下载依赖):
tar xf xxx.tar
.iso
mount -o loop xxx.iso /test
.cpio
cpio -idcmv < xxx.cpio
2.源码包安装
(1)python3.6源码包安装
./configure ------> 定制功能
make
make install
mysql源码包安装
cmake
make
make install
(2)redis源码包安装
解压后,make即可
(3)修改环境变量(可做可不做)
vim /etc/profile
添加以下一行:
export PATH=/opt/redis-3.2.10/src:$PATH
生效配置
source /etc/profile
(4)测试让python链接redis
unzip redis-py-master.zip
cd redis-py-master
python3 setup.py install
对redis的单实例进行连接操作
python3
>>>import redis
>>>r = redis.StrictRedis(host='localhost', port=6379)
>>>r.set('name', 'oldguo')
True
>>>r.get('name')
'oldguo'
二进制包(mysql5.7.20)
1.解压及制作软连接
tar xf mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz
ln -s mysql-5.7.20-linux-glibc2.12-x86_64 mysql
2.编辑环境变量
vim /etc/profile
添加以下一行:
export PATH=/opt/mysql/bin:$PATH
生效配置:
source /etc/profile
3.卸载自带mariadb
yum remove mariadb-libs
4.生成配置文件
vim /etc/my.cnf
[mysqld]
basedir=/opt/mysql
datadir=/opt/mysql/data
socket=/tmp/mysql.sock
user=mysql
log_error=/var/log/mysql.log
log_bin=/opt/mysql/data/mysql-bin
server_id=100
[mysql]
socket=/tmp/mysql.sock
5.初始化数据
由于权限问题我们呢需要手动创建并且授权
touch /var/log/mysql.log
chown -R mysql.mysql /var/log/mysql.log
初始化数据命令
mysqld --initialize-insecure --basedir=/opt/mysql --datadir=/opt/mysql/data --user=mysql
6.启动mysql
cd /opt/mysql/support-files
./mysql.server start cp mysql.server /etc/init.d/mysqld
重启mysql服务
/etc/init.d/mysqld restart 扩展:使用systemctl 管理mysql
vim /etc/systemd/system/mysqld.service
写入
[Unit]
Description=MySQL Server
Documentation=man:mysqld(8)
Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target [Install]
WantedBy=multi-user.target
[Service]
User=mysql
Group=mysql
ExecStart=/opt/mysql/bin/mysqld --defaults-file=/etc/my.cnf
LimitNOFILE = 5000
重启mysql服务
systemctl restart mysqld
查询服务是否启动成功
netstat -tulnp |grep 3306
7.测试python3链接mysql
创建mysql链接用户 grant all on *.* to root@'10.0.0.%' identified by '123';
create database bbs charset utf8; python代码测试: pip3 install --upgrade pip
pip3 install pymysql vim testmysql.py
#!/usr/bin/python3
import pymysql
db = pymysql.connect("10.0.0.100","root","123","bbs" )
cursor.execute("SELECT VERSION()")
data = cursor.fetchone()
print ("Database version : %s " % data)
db.close() python3 testmysql.py
LNMP架构环境部署
简介:
LNMPT = Linux Nginx MySQL PHP Tomcat
LNMPJ = Linux Nginx MySQL PHP Jboss
1.使用官方的Nginx yum源
vim /etc/yum.repos.d/nginx.repo
写入
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=0
enabled=1 执行命令
yum install nginx -y
2.启动Nginx,并将Nginx加入开启自启
systemctl start nginx
systemctl enable nginx
3.使用第三方扩展源安装php7.1
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm [root@nginx ~]# yum remove php-mysql-5.4 php php-fpm php-common
[root@nginx ~]# vim /etc/yum.repos.d/php.repo
[php]
name = php Repository
baseurl = http://us-east.repo.webtatic.com/yum/el7/x86_64/
gpgcheck = [root@nginx ~]# yum -y install php71w php71w-cli php71w-common php71w-devel php71w-embedded php71w-gd php71w-mcrypt php71w-mbstring php71w-pdo php71w-xml php71w-fpm php71w-mysqlnd php71w-opcache php71w-pecl-memcached php71w-pecl-redis php71w-pecl-mongodb
) 配置php-fpm用户与Nginx的运行用户保持一致 [root@nginx ~]# sed -i '/^user/c user = www' /etc/php-fpm.d/www.conf
[root@nginx ~]# sed -i '/^group/c group = www' /etc/php-fpm.d/www.conf
) 启动php-fpm,并将其加入开机自启 [root@nginx ~]# systemctl start php-fpm
[root@nginx ~]# systemctl enable php-fpm
) 安装mysql数据库 [root@nginx ~]# mysqladmin password ''
[root@nginx ~]# mysql -uroot -p123
4.LNMP架构环境部署
django项目: 依赖包
[root@web01 ~]# yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel gcc gcc-c++ openssl-devel zlib zlib-devel -y 1.安装python3
[root@web01 ~]# wget https://www.python.org/ftp/python/3.7.2/Python-3.7.2.tgz
[root@web01 ~]# tar xf Python-3.6.2.tgz
[root@web01 ~]# cd Python-3.6.2/
[root@web01 Python-3.6.2]# ./configure --prefix=/usr/local/
[root@web01 Python-3.6.2]# make && make install
[root@web01 Python-3.6.2]# ./configure && make && make install 2.安装Django框架和uwsgi vim re.txt
asn1crypto==0.24.0
beautifulsoup4==4.6.3
bs4==0.0.1
certifi==2018.4.16
cffi==1.11.5
chardet==3.0.4
Click==7.0
cryptography==2.3.1
Django==1.11.9
Flask==1.0.2
Flask-Cors==3.0.6
gevent==1.3.6
greenlet==0.4.15
idna==2.7
ItsDangerous==1.1.0
Jinja2==2.10
lxml==4.2.6
MarkupSafe==1.0
numpy==1.15.3
Pillow==5.3.0
pycparser==2.18
PyMySQL==0.9.2
pytz==2018.7
requests==2.19.1
selenium==3.141.0
six==1.11.0
urllib3==1.23
virtualenv==16.1.0
Werkzeug==0.14.1
wordcloud==1.5.0 pip3 install -i https://pypi.doubanio.com/simple/ -r re.txt
pip3 install -i https://pypi.doubanio.com/simple/ uwsgi 3.测试uwsgi是否正常,新建 test.py文件,内容如下:
[root@web01 ~]# vim test.py
def application(env, start_response):
start_response('200 OK', [('Content-Type','text/html')])
return [b"Hello Django"] #然后在终端运行:
uwsgi --http :8001 --wsgi-file test.py & 4.测试django是否正常,运行:
[root@web01 ~]# django-admin.py startproject demosite
[root@web01 ~]# cd demosite
[root@web01 demosite]# python3 manage.py runserver 0.0.0.0:8002
在浏览器内输入:http://127.0.0.1:8002,检查django是否运行正常。 5.配置uwsgi
[root@web01 demosite]# vim /root/demosite/uwsgi.ini
写入
[uwsgi]
socket = 127.0.0.1:9999
master = true
workers = 2
max-requests = 1000
buffer-size = 30000
pidfile = /run/uwsgi.pid
daemonize = /var/log/uwsgi.log uwsgi --ini /root/demosite/uwsgi.ini & 6.配置Nginx
[root@web01 demosite]# vim /etc/nginx/conf.d/py.conf
写入
server {
listen 80;
server_name 10.0.0.100;
client_max_body_size 100M; location / {
index index.html;
include uwsgi_params;
uwsgi_pass 127.0.0.1:9999;
uwsgi_param UWSGI_SCRIPT demosite.wsgi;
uwsgi_param UWSGI_CHDIR /root/demosite;
}
} 重启nginx
day95的更多相关文章
- python 全栈开发,Day95(RESTful API介绍,基于Django实现RESTful API,DRF 序列化)
昨日内容回顾 1. rest framework serializer(序列化)的简单使用 QuerySet([ obj, obj, obj]) --> JSON格式数据 0. 安装和导入: p ...
- day95:flask:SQLAlchemy数据库查询进阶&关联查询
目录 1.数据库查询-进阶 1.常用的SQLAlchemy查询过滤器 2.常用的SQLAlchemy查询结果的方法 3.filter 4.order_by 5.count 6.limit&of ...
- 10.23 crm(3)
2018-10-23 20:34:30 继续增加新的功能!在代码注释里面有! 越努力,越幸运!永远不要高估自己! 还有明天再加上rbca权限管理系统就完美了! 然后crm做完,再过几天不挂针一切好了也 ...
- CRM - 讲师与学生
一.讲师与学生简介 1.初始化 course_record, study_record.2.学习记录3.录入成绩4.显示成绩 ajax 查询 柱状图展示成绩 highcharts 5.上传作业(os模 ...
- CRM - 销售与客户
一.销售与客户 - 表结构 ---公共客户(公共资源) 1.没有报名 2.3天没有跟进 3.15天没有成单 客户分布表 龙泰 男 yuan 2018-5-1 3天未跟进 龙泰 男 三江 2018-5- ...
- Python全栈day9(Python基础)
Python基础 一,Windows安装Python3.5 下载地址:https://www.python.org/ftp/python/3.5.2/python-3.5.2rc1-amd64.exe ...
- CRM——讲师与学生
一.课程记录和学习记录 1.初始化 course_record, study_record.2.学习记录3.录入成绩4.显示成绩 ajax 查询 柱状图展示成绩 highcharts 5.上传作业(o ...
- 老男孩Python高级全栈开发工程师三期完整无加密带课件(共104天)
点击了解更多Python课程>>> 老男孩Python高级全栈开发工程师三期完整无加密带课件(共104天) 课程大纲 1.这一期比之前的Python培新课程增加了很多干货:Linux ...
- 22期老男孩Ptython全栈架构师视频教程
老男孩Ptython全栈架构师视频教程 Python最新整理完整版22期视频教程 超60G课程容量<ignore_js_op> <ignore_js_op> <ignor ...
随机推荐
- Python相关机器学习‘武器库’
开始学习Python,之后渐渐成为我学习工作中的第一辅助脚本语言,虽然开发语言是Java,但平时的很多文本数据处理任务都交给了Python.这些年来,接触和使用了很多Python工具包,特别是在文本处 ...
- 「Android」 基于Binder通信的C/S架构体系认知
C/S架构(Client/Server,即客户机/服务器模式)分为客户机和服务器两层:第一层是在客户机系统上结合了表示与业务逻辑,第二层是通过网络结合了数据库服务器.简单的说就是第一层是用户表示层,第 ...
- (后端)项目中的错误之java中判断字符里面含有某些字符
数据库的数据出现了数据错误.找到原因是因为代码里面Spring的判断所导致的.其实就是判断字符里有01,走这里,有02,走那里,全是if,但是是类似indexOf的那种判断,偏偏有一个数据是0102, ...
- html-edm(邮件营销)编写规则
最近写了一个edm邮件 以前没有接触过 使用的是很老的html页面编写规则 只能用table标签 在此记录一下edm编写的一些规则 个人参考的是这两个网址,转载一下 http://www.zco ...
- 企业建立成功 DevOps 模式所需应对的5个挑战
[编者按]本文作者为 Kevin Goldberg,主要介绍要想成功部署 DevOps 模式,企业所需应对的5大挑战与问题.文章系国内 ITOM 管理平台 OneAPM 编译呈现. 要给 DevOps ...
- python 中文报错
解决的办法为:在程序的开头写入如下代码,这就是中文注释 #coding=utf-8
- CentOS上安装 Docker-CE以及Docker 加速器配置
在CentOS 7.0上安装 Docker-CE 官方源安装教程 https://docs.docker.com/install/linux/docker-ce/centos/#install-usi ...
- 老生常谈:Windows的7类安全漏洞
这是篇比较老的文章,但是现在翻出来发下,还是会让大家对Windows的安全漏洞有所了解.建议大家阅读<软媒原创:如何从根上保证电脑安全.不中毒>. 目前微软系列产品中,危害计算机安全的漏洞 ...
- KVM使用
这里使用的是Ubuntu18.04桌面版虚拟机 关于KVM可以看一下我之前的博客,有一些简单的介绍. 1.在打开虚拟机之前先开启此虚拟机的虚拟化功能. 2.安装KVM及其依赖项 wy@wy-virtu ...
- Hadoop下添加节点和删除节点
添加节点 1.修改host 和普通的datanode一样.添加namenode的ip 2.修改namenode的配置文件conf/slaves 添加新增节点的ip或host 3.在新节点的机器 ...