Linux 首先基本包安装(vim啊什么的),源,源优化,项目架构介绍, (LNMuWsgi)Django项目相关软件mysql,redies,python(相关模块)安装配置测试
内容
补充:
查看已启动服务的端口
netstat -tulnp |grep (方式1)
ss -tulnp|grep (方式2) 前期铺垫:
. Linux要能上网
. 掌握Linux软件包安装方法
2.1 rpm包管理
软件包格式:名字-版本-平台-rpm
建议:系统基础包,用光盘里的
2.1. 光盘挂载(为了安装基础包)
方式1 mount /dev/sr0 /mnt(原始设备)
方式2 mount /dev/cdrom /mnt(软连接)
cd /mnt
ls 2.1. 安装包(cd 到mnt下的Packages里)(相对路径)
rpm -ivh vsftpd-3.0.-.el7.x86_64.rpm (普通安装 有就不安装)
rpm -Uvh vsftpd-3.0.-.el7.x86_64.rpm (you更新安装,没you普通安装) 2.13 卸载rpm(cd 到mnt下的Packages里)(相对路径)
rpm -e vsftpd-3.0.-.el7.x86_64 (删除相关文件) 2.1. 查看是否安装
[root@python3 ~]# rpm -q vsftpd
vsftpd-3.0.-.el7.x86_64 (已安装)
[root@python3 ~]# rpm -q vsftp
package vsftp is not installed(没安装) [root@python3 ~]# rpm -qa (查看所有已安装)
[root@python3 ~]# rpm -qa |grep vsf(过滤) [root@python3 ~]# which vim(查看命令的路径)
/usr/bin/vim
[root@python3 ~]# rpm -qf /usr/bin/vim(查看命令来自哪个包) **2.1. 补充(依赖关系问题:例如安装B之前必须装A) A ----> B ---> C
A BC B DF F AC
#依赖解决:一起装
rpm -ivh a b c d e f
#问题2:具体依赖某个版本的问题:
一个一个找? 2.2 yum包管理器(解决rpm依赖问题版本问题)
2.2. 使用aliyun yum站点源(可以理解成光盘镜像)
Base源(光盘中的软件)
cd /etc/yum.repos.d/ (配置文件:告诉yum下载包去哪下载)
mv *.repo test
wget http://mirrors.aliyun.com/repo/Centos-7.repo EPEL源(扩展源)(安装了Base可以直接 yum安装EPEL源 )
yum install -y epel-release #Extra(外部源) 2.2. 使用yum安装软件(装)
yum install openssl (负责https访问)(不加-y,有提示是否安装)
yum install -y openssl-devel
注意:一次性安装多个软件 要-y,openssl*,选择性安装 2.2. yum软件包查询及组安装
yum list 所有yum软件包,不管是否安装
yum list |grep vsftpd 查看是否安装,有installed
yum grouplist 所有yum软件包组(同类相同功能的归类,放到一个组)
yum groupinstall "Development Tools" 安装一个组 2.2. 卸载软件包
yum remove vsftpd 注意:所有的软件都依赖A,把A卸载了,相当于卸载了很多软件
例如: glibc(系统核心软件包,几乎都依赖它)
2.2. 优化yum源(本地,局域网)
()本地镜像yum源(光盘挂载到/mnt下)(/etc/yum.repos.d只能有我们写的本地repo文件,不能有其他的 [初学者,说的不太对])
进入yum源目录,手动写配置文件(后缀.repo)
cd /etc/yum.repos.d
vim local.repo
内容
[local]
name=localios
baseurl=file:///mnt ###来自本地这样写
gpgcheck= ###校验软件包的MD5值,我们自己的这里不用校验 yum clean all #重新构建缓存
yum install -y vsftpd #用到了本地源 ()局域网yum源(ftp)
.安装ftp软件
yum install -y vsftpd
.启动ftp服务
[root@python3 ~]# systemctl start vsftpd
[root@python3 ~]# systemctl enable vsftpd .创建站点目录,并将光盘软件拷贝其中
[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 2.3 源码包应用 2.3.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.3.2 源码包安装
(1)python3.6源码包安装
./configure ------> 1 检查环境是否满足安装,定制功能(安装路径,)
make 2 编译 生成bytes
make install 3 该拷贝到哪到哪,授权
make && make install (2) redis 源码包安装
make 添加环境变量
vim /etc/profile 添加以下一行:
export PATH=/opt/redis-3.2.10/src:$PATH 设置后立即生效命令
source /etc/profile
后台启动redis服务
redis-server & (3) 让python链接redis unzip redis-py-master.zip
cd redis-py-master
python3 setup.py install #让python能连接redis 测试:
python3
>>>import redis
>>>r = redis.StrictRedis(host='localhost', port=6379)
>>>r.set('name', 'oldguo')
True
>>>r.get('name')
'oldguo' 3. 二进制包(安装mysql5.7.20) 3.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 3.2 编辑环境变量
vim /etc/profile
添加以下一行:
export PATH=/opt/mysql/bin:$PATH 生效配置:
source /etc/profile 3.3 卸载自带mariadb
yum remove mariadb-libs 3.4 生成配置文件(/etc/my.cnf)
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 3.5 创建用户和数据目录,并授权
useradd mysql
mkdir /opt/mysql/data
chown -R mysql.mysql /opt/mysql 3.6 初始化数据 [root@python3 ~]# mysqld --initialize-insecure --basedir=/opt/mysql --datadir=/opt/mysql/data --user=mysql 2019-01-04T03:58:03.128958Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2019-01-04T03:58:03.142436Z 0 [ERROR] Could not open file '/var/log/mysql.log' for error logging: Permission denied
2019-01-04T03:58:03.142492Z 0 [ERROR] Aborting 报错解决:
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 3.7 启动mysql服务
cd /opt/mysql/support-files
./mysql.server start #mysql提供的启动脚本 cp mysql.server /etc/init.d/mysqld /etc/init.d/mysqld restart 扩展:使用systemctl 管理mysqld
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 systemctl restart mysqld netstat -tulnp |grep 3306 3.8 测试python3链接mysql 创建mysql链接用户 grant all on *.* to root@'10.0.0.%' identified by '123';
create database bbs charset utf8; 测试:
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 4.经典互联网架构项目(LNMP) LNMPT = Linux Nginx MySQL PHP
LNMPJ = Linux Nginx MySQL PHP LNMP架构环境部署
1) 使用官方Nginx yum源 [root@nginx ~]# vim /etc/yum.repos.d/nginx.repo
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=0
enabled=1 #安装Nginx
yum install nginx -y
2)启动
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 = 0 [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
3) 配置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
4) 启动php-fpm,并将其加入开机自启 [root@nginx ~]# systemctl start php-fpm
[root@nginx ~]# systemctl enable php-fpm
5) 安装mysql数据库 [root@nginx ~]# mysqladmin password '123'
[root@nginx ~]# mysql -uroot -p123
2.LNMP架构环境配置 vim /etc/nginx/conf.d/php.conf
server {
server_name 10.0.0.12;
listen 80;
root /code/wordpress;
index index.php index.html; location ~ \.php$ {
root /code/bbs;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
Linux 首先基本包安装(vim啊什么的),源,源优化,项目架构介绍, (LNMuWsgi)Django项目相关软件mysql,redies,python(相关模块)安装配置测试的更多相关文章
- python机器学习模块安装
环境:RHEL6.5 离线安装 ############################################################################ 一,本地yum ...
- centos6 安装python2.7 并做软件兼容处理 及 MySQLdb模块安装
相关软件准备 https://www.python.org/ftp/python/2.7.15/Python-2.7.15.tgz https://pypi.org/project/setuptool ...
- Python Paramiko模块安装和使用
1.简介 大家会发现,常见的解决方法都会需要对远程服务器必要的配置,如果远程服务器只有一两台还好说,如果有N台,还需要逐台进行配置,或者需要使用代码进行以上操作时,上面的办法就不太方便了. 使用par ...
- Python Pygal 模块安装和使用你get了吗?
Pygal 是另一个简单易用的数据图库,它以面向对象的方式来创建各种数据图,而且使用 Pygal 可以非常方便地生成各种格式的数据图,包括 PNG.SVG 等.使用 Pygal 也可以生成 XML e ...
- Python中模块安装文件的创建及使用
在Python编程中,我们常常需要自己编写模块,当模块文件写好了,就需要创建安装文件,方便模块的发布. 此时,常用的方法,就是使用Python distutils(代表distribution uti ...
- python之模块安装
在python中,python官方提供了很多可以扩展的包,用以增强python的功能. 因为用到了excel的读写功能,需要安装xlrd的包,一下是安装步骤 1.首先从python的官方库下载相应的包 ...
- Python常用模块安装
1. python操作MySQL数据库的依赖包MySQLdb ImportError: No module named MySQLdb 安装方式: yum install MySQL-python 2 ...
- Python 第三方模块安装出现的问题和解决方案.
出现此类问题 A) ImportError: cannot import name '_win32stdio'B) ImportError: No module named 'win32api' 需要 ...
- python Polygon模块安装
pip install Polygon这样会安装不了 只能使用pip install Polygon2 或者 pip install Polygon3,也就是必须带版本号
随机推荐
- 打包优化实践(如何Code Spliting)
项目地址:ReactSPA 使用 webpack 插件找出占用空间较大的包 开发环境中可使用 analyze-webpack-plugin 观察各模块的占用情况.以该项目为例:浏览器中输入 http: ...
- android_模拟器调试
找到adb_server adb_server connect
- jmeter学习记录--03--jmeter负载与监听
jmeter场景主要通过线程组设置完成,有些复杂场景需要与逻辑控制器配合. 一.测试计划设计与执行 场景设计 jmete线程组实际是一个线程池,根据用户设置进行线程池的初始优化,在运行时做各种异常的处 ...
- kettle变量(param命名参数)
1.定义: 编辑-设置-命名参数 在当前界面下定义参数名称和缺省值. 2.引用:原始数据 通过${var}引用变量 输出 注:1.字符串在命名参数引用是需要添加单引号的,但位置参数是不需要进行转译: ...
- 使用lombok自动生成链式调用
本文转载:使用 Lombok 自动生成 Getter and Setter
- 【51NOD1965】奇怪的式子 min_25筛
题目描述 给你\(n\),求 \[ \prod_{i=1}^n{\sigma_0(i)}^{i+\mu(i)} \] 对\({10}^{12}+39\)取模. \(\sigma_0(i)\)表示约数个 ...
- neutron-删除负载均衡器
neutron-删除负载均衡器 在清除垃圾数据的时候,删除负载均衡器,总是有很多依赖.写了一个脚本,连同依赖资源一起删除 #!/bin/bash delete(){ local id id=$1 lo ...
- vue之——从彩笔的进步之路
因为这个文章开的有点晚,不可能说从头教学vue的使用,所以大概还是记录一下我的学习路线吧: 一开始是想学一个前端框架,最后选择了vue,一开始是看了表严肃的vue课程,b站有,讲的相当好,就算打个小广 ...
- Lua语法基础(一)
1. 注释 -- 单行注释 --[[ 多行注释 --]] 2. 运行方式 (1)交互式运行 命令行下 lua进入交互模式 (2)命令行运行 lua + ...
- pymongo 使用方法(增删改查)
#!/usr/bin/env python # -*- coding:utf-8 -*- """ MongoDB存储 在这里我们来看一下Python3下MongoDB的存 ...