目录
- rpm包管理
- rpm包的查询
- yum 使用
3.1 使用aliyun yum站点源
3.2 使用yum安装软件
3.3 软件包查询及组安装,卸载
3.4 优化yum源 - 源码包应用
- 二进制包(mysql5.7.20为例)
- 经典互联网架构项目(LNMP)
1. rpm包管理
光盘挂载 mount /dev/cdrom /mnt 将光盘挂载到mnt下
安装rpm包.
rpm -ivh vsftpd-3.0.2-22.el7.x86_64.rpm
rpm -Uvh vsftpd-3.0.2-22.el7.x86_64.rpm
卸载rpm
rpm -e vsftpd-3.0.2-22.el7.x86_64
2. rpm包的查询
rpm -q vsftpd
rpm -qa |grep vsf
which vim
rpm -qf /usr/bin/vim
rpm处理依赖包的时候很麻烦, 所以还是推荐用yum
3. yum 使用
3.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
3.2 使用yum安装软件
yum install -y openssl openssl-devel 这里安装了两个 openssl和openssl-devel
3.3 软件包查询及组安装,卸载
yum list |grep vsftpd 查看所有软件包,然后过滤出vsftpd
yum grouplist 查看组
yum groupinstall "Development Tools" 查看一组软件包
yum remove vsftpd 卸载软件包
3.4 优化yum源
1. 本地镜像yum源(光盘挂载到/mnt下)
vim /etc/yum.repos.d/local.repo
写入:
[local]
name=localios
baseurl=file:///mnt
gpgcheck=0
:wq保存退出
yum clean all 清除缓存
2. 局域网yum源(ftp)
(1).安装ftp软件
yum install -y vsftpd 安装vsftpd软件包
(2). 启动ftp服务
systemctl start vsftpd
systemctl enable vsftpd 设为开机自动启动
(3).创建站点目录,并将光盘软件拷贝其中
cp -a /mnt/* /var/ftp/pub/centos7
(4).生成ftp站点的yum源配置文件
vim /etc/yum.repos.d/ftp.repo
写入:
[ftp]
name=centos7
baseurl=ftp://10.0.0.100/pub/centos7
gpgcheck=0
:wq保存退出
(5): 安装软件测试
yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel gcc gcc-c++ openssl-devel zlib zlib-devel -y
4. 源码包应用
-
解压
压缩包类型 解压方法 .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 -
源码包安装
1. python3.6源码包安装 (大部分源码包都是这种方式) cd到其目录下 ./configure ------> 后面加参数定制功能, 这里不用 依赖包: yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel gcc gcc-c++ openssl-devel zlib zlib-devel -y make && make install 编译 2. mysql 源码包 cd到其目录下 cmake make make install 修改环境变量 vim /etc/profile 添加一下一行 export PATH=/opt/mysql/bin:$PATH 生效配置 source /etc/profile 3. redis 源码包安装 直接make cd到其目录下 make 修改环境变量 vim /etc/profile 添加一下一行 export PATH=/opt/redis-3.2.10/src:$PATH 生效配置 source /etc/profile 4. 让python链接redis cd到Redis目录 python3 setup.py install 对redis的单实例进行连接操作 python3 >>>import redis >>>r = redis.StrictRedis(host='localhost', port=6379) >>>r.set('name', 'oldguo') True >>>r.get('name') 'oldguo'
5. 二进制包(mysql5.7.20为例)
- 解压及制作软连接
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
-
编辑环境变量
vim /etc/profile 添加以下一行: export PATH=/opt/mysql/bin:$PATH
-
生效配置:
source /etc/profile
-
卸载自带mariadb
yum remove mariadb-libs
-
生成配置文件(/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
-
创建用户和数据目录,并授权
useradd mysql mkdir /opt/mysql/data chown -R mysql.mysql /opt/mysql
-
初始化
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 初始化
-
启动mysql
启动方式1: cd /opt/mysql/support-files ./mysql.server start 启动 方式2: cp mysql.server /etc/init.d/mysqld 复制一份出去 /etc/init.d/mysqld restart 以后启动输入这条命令就ok了 方式3: 使用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 systemctl restart mysqld 启动 netstat -tulnp |grep 3306 查看服务
-
测试python3链接mysql
创建mysql链接用户: grant all on *.* to root@'10.0.0.%' identified by '123'; 建bbs库: 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
6. 经典互联网架构项目(LNMP)
LNMPT = Linux Nginx MySQL PHP
LNMPJ = Linux Nginx MySQL PHP
LNMP架构环境部署
-
使用官方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
-
安装与启动Nginx
安装Nginx yum install nginx -y 启动Nginx,并将Nginx加入开机自启 systemctl start nginx systemctl enable nginx
-
使用第三方扩展源安装php7.1
-
部署Django项目
安装uwsgi: pip3 install -i https://pypi.doubanio.com/simple/ uwsgi 测试uwsgi是否正常,新建test.py文件,内容如下: 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 &
-
测试django是否正常,运行:
django-admin.py startproject demosite cd demosite python3 manage.py runserver 0.0.0.0:8002 在浏览器内输入:http://127.0.0.1:8002,检查django是否运行正常。
-
配置uwsgi
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 &
-
配置Nginx
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 systemctl restart nginx
网友评论