linux系统安装环境以及包的下载(前期铺垫)

一.Linux要能上网

二.掌握Linux软件包安装方法

  • rpm -redhat系列,软件管理器

  • yum -解决rpm安装方式的不足

  • 源码包安装

  • 二进制包,解压完成即可使用

三.rpm包管理

光盘挂载

mount /dev/cdrom /mnt
cd /mnt
ls
cd Packages 软件包位于mnt目录下的Packages

安装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 只能在软件包完整未损坏状态下进行卸载

rpm包的查询

rpm -q vsftpd 查看指定软件的状态
rpm -qa |grep vsf  只查看软件的详细信息 
which vim 查看指定命令的具体路径
rpm -qf /usr/bin/vim 查看指定路径的安装软件包
rpm -ql vsftpd 查看指定软件安装中产生的所有文件

软件的依赖问题

安装软件A时,A依赖于B,就必须要先安装B

存在相互依赖的冲突问题 a依赖于b b依赖于c c又依赖于a

  • rpm -ivh a b c d - 可以同时将多个软件包共同安装,来解决相互依赖的冲突问题

四.yum 使用(依赖于网络的软件源)

1,使用阿里云的yum源 https://opsx.alibaba.com/mirror

  • Base源 :本质是光盘中的一些软件
  • EPEL源 :基于redhat的扩展源,即光盘中不自带的软件
  • Extra源 :外部源

2,安装Base源

cd /etc/yum.repos.d 默认放置yum源的位置   
注意:内置国外的一些yum源
mkdir official   新建一个文件夹
mv *.repo official 将原始的yum源放置在自己的指定文件夹内
wget http://mirrors.aliyun.com/repo/Centos-7.repo 配置阿里云的Base源 (还能使用清华源、网易源等)

1546691354243

3 安装EPEL源

yum install -y epel-release 必须先安装Base源

4. 使用Yum安装软件

yum install openssl   过程中有提醒
yum install openssl-devel -y 使用-y使安装无提醒
yum install openssl* 安装所有与openssl相关的所有软件

5. 软件信息查询

yum list 查看所有yum源的软件包
yum list |grep python 查看指定软件是否存在yum源中
yum grouplist 查看yum源的软件包组
yum groupinstall "Development tools" 安装指定软件组,注意引号的使用

6.软件的卸载(危险)- yum remove 指定软件

7.优化yum源

7.1 配置本地镜像yum源(光盘挂在到/mnt) - 依赖于本地光盘,加快软件安装的速度
cd /etc/yum.repos.d
mkdir ali
mv *.repo ali
vim local.repo
    [local]  标签名
    name=localios 随意取名
    baseurl=file:///mnt    
    file://表示告诉yum源地址来自于本地,注意存在三个斜杠,地址为光盘挂载地址 gpgcheck=0 不用进行校验
yum clean all 防止yum直接读取缓存
yum install vsftpd
7.2 配置局域网yum源 - 依赖于光盘(光盘挂在到/mnt)
yum install -y vsftpd 安装ftp软件
systemctl start vsftpd 启动ftp软件服务(centos7命令)
systemctl enable vsftpd 开机自启(centos7命令)
将光盘数据拷贝到ftp的站点目录(/var/ftp/pub)下
mkdir /var/ftp/pub/centos7 在ftp站点目录下创建目录
cp -a /mnt/* /var/ftp/pub/centos7 将光盘挂载的目录内所有文件都复制到指点目录下的指定目录内
cd /etc/yum.repos.d
rm -rf local.repo 删除原来的本地源
vim ftp.repo 创建表示来自于ftp的yum源,生成ftp站点yum源配置文件
    [ftp]
    name=centos7
    baseurl=ftp://10.0.0.100/pub/centos7
    gpgcheck=0
yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel gcc gcc-c++  openssl-devel zlib zlib-devel -y      安装软件测试
yum clean all 清缓存

五.源码包安装

1. 常见压缩包及解压方式

– .zip
unzip xxx.zip 解压,需要yum安装 yum install -y 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.python3.6的源码包安装

cd /opt
将本地.tar.gz格式源码包上传到服务器 - secureCRT使用rz上传
安装相关依赖
    yum install -y gcc*
    yum install -y openssl*
    tar xf Python-3.6.1.tar.xz
cd Python-3.6.1
./configure 检查linux当前环境是否满足软件包安装,并进行一些配置,后续参数可以指定选择功能的安装与否
ls
make
make install
或者:make && make install

3.redis 源码包安装

cd /opt
rz 上传文件
tar xf redis-3.2.10.tar.gz 解压源码包
cd redis-3.2.10 进入目录
make 执行安装
vim /etc/profile 配置环境变量(最后面添加)
	export PATH=/opt/redis-3.2.10/src:$PATH
source /etc/profile 生效配置文件
redis-server & 开启redis服务

4.安装redis的python包,让python可以连接redis

cd /opt
rz 上传文件
unzip redis-py-master.zip 解压
cd redis-py-master  切换到目录下面
python3 setup.py install  

5.手工验证python连接redis

python3 进入python交互模式
    import redis 尝试导入包
    r = redis.StrictRedis(host='localhost', port=6379)
    r.set('name', 'test')
    r.get('name')

六.二进制包安装

1.MySQL包的安装(5.7.20)

cd /opt
rz 上传文件
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 生效环境变量
yum remove mariadb-libs 卸载自带mariadb的库
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

2.创建用户和数据目录并授权

useradd mysql
mkdir /opt/mysql/data
chown -R mysql.mysql /opt/mysql

3.初始化数据

mysqld --initialize-insecure --basedir=/opt/mysql --datadir=/opt/mysql/data --user=mysql 初始化命令

1546697507543

解决以上报错问题:

touch /var/log/mysql.log
chown -R mysql.mysql /var/log/mysql.log

4.启动服务器

cd /opt/mysql/support-files
./mysql.server start
cp mysql.server /etc/init.d/mysqld
上步操作之后,以后的启动、关闭、重启操作
    /etc/init.d/mysqld restart
    /etc/init.d/mysqld start
    /etc/init.d/mysqld stop
netstat -tulnp |grep 3306 查看服务器端口启动状态

5.systemctl 管理mysql(centos7)

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 daemon-reload
systemctl start mysqld

6.代码连接测试

6.1安装pymysql模块

  • pip3 install pymysql

6.2 手动测试代码

建立数据库
mysql 进入数据库
grant all on . to root@‘10.0.0.%’ identified by ‘123’; 创建数据库的用户名密码 root@当前ip,密码为123 (本地)
grant all on . to root@‘172.27.0.0/255.255.240.0’ identified by ‘123’; 同上,云端ssh,mysql操作,内网ip/子网掩码
create database bbs charset utf8; 创建bbs库 (指定编码格式,要和导入文件的编码格式一致)

vim testmysql.py 编写脚本文件
#!/usr/bin/python3
    import pymysql
    db = pymysql.connect("10.0.0.5","root","123","bbs" )
    cursor = db.cursor()
    cursor.execute("SELECT VERSION()")
    data = cursor.fetchone()
    print ("Database version : %s " % data)
    db.close()
python3 testmysql.py

七 网站架构方式

  • LAMP
  • LNMP
    • LNMPT = Linux+Nginx+MySQL+PHP+Tomcat
    • LNMPJ = Linux +Nginx+MySQL+PHP+Jboss
  • LNMuWSGI (python架构环境)

八.LNMP

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
CentOS-6.5下配置替换一句  :baseurl=http://nginx.org/packages/centos/$releasever/$basearch/	

2.安装并启动Nginx

yum install nginx -y
systemctl start nginx 开启nginx服务(centos6.5: service nginx start)
systemctl enable nginx 开机自启(centos6.5: chkconfig --add nginx)

九.搭建python项目环境

yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel gcc gcc-c++ openssl-devel zlib zlib-devel -y 依赖包安装
安装Django框架和uwsgi等模块(单步执行)
    pip3 install --upgrade
    pip pip3 install uwsgi
    pip3 install -i https://pypi.doubanio.com/simple/ uwsgi
    pip3 install django
    pip3 install pymysql
    pip3 install pyredis
    pip3 install other
    pip3 install bs4
上述安装模块的优化方式(生成脚本优化文件)
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
    uWSGI == 2.0.17.1
pip3 install -i https://pypi.doubanio.com/simple/ -r re.txt
安装 uwsgi 的报错信息原因,用pip3执行install uwsgi命令
pip3 install uwsgi
pip3 install -i https://pypi.doubanio.com/simple/ uwsgi

1.uwsgi的配置文件

vim /root/demosite/uwsgi.ini 进入demosite项目中进行配置
	[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 &  在后台执行项目目录下/root/demosite的uwsgi.ini文件

2 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 uwsgi_param UWSGI_CHDIR /root/demosite; 使用项目目录的路径/root/demosite
        }
    }
重启nginx
systemctl restart nginx

3.测试uwsgi的正常使用

cd /opt
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 & 后台在8001端口执行test.py文件,注意文件的路径

4.测试Django的正常使用


django-admin.py startproject demosite 生成一个空项目
cd demosite 进入项目
python3 manage.py runserver 0.0.0.0:8002 执行项目文件,部署在本地8002端口
在浏览器内输入:http://127.0.0.1:8002,检查django是否运行正常。
cd到项目里(两次cd,到核心文件里面)
vim setting.py
	ALLOWED_HOSTS=["*"]
杀掉相关进程重启
ps -ef|grep python3
kill -9 进程号
重启项目
python3 manage.py runserver 0.0.0.0:8002 执行项目文件,部署在本地8002端口

Nginx配置文件后启动 + uwsgi配置文件启动

结果:输入指定ip,跳转Nginx,Nginx根据配置文件,跳转uwsgi,uwsgi指向Django项目

猜你喜欢

转载自blog.csdn.net/qq_42737056/article/details/85951065