项目部署环境搭建
一、linux上网
安装好linux系统后,就配置好了
如果没有ip ,需要配置,否则无法yum

Linux软件包管理

| |
| pip install flask |
| 那么在linux平台,一个软件想要正确的运行,也得解决系统的开发环境,解决依赖关系。 |
安装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 |






查看系统发行版本

systemctl

安装mysql

二、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 |
| rpm -e vsftpd-3.0.2-22.el7.x86_64 |
3、查询是否安装
| rpm -q vsftpd(软件包名) |
| rpm -qa |grep vsf |
4、查看软件包
| which vim |
| rpm -qf /usr/bin/vim |
5、互相依赖关系的软件包
三、yum包管理
配置yum源


| wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo |
| wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo |
1、使用aliyun的yum源
| |
| cd /etc/yum.repos.d/ |
| mv *.repo /tmp |
| wget http://mirrors.aliyun.com/repo/Centos-7.repo |
| |
| |
| yum install -y epel-release |
2、使用yum安装软件
| [root@python3 ~] |
| yum install openssl-devel |
3、查看yum源的软件包
| yum list |
| yum list |grep vsftpd() |
| yum grouplist |
| yum groupinstall "Developement Tools" |
4、删除软件包
5、优化yum源
(1)使用本地源
| |
| mv *.repo ali |
| |
| vim local.repo |
| |
| [local] |
| name=localios |
| baseurl=file:///mnt |
| gpgchech=0 |
| |
| yum clean all |
| |
| yum install -y vsftpd |
(2)局域网yum源配置
| |
| yum install -y vsftpd |
| |
| |
| [root@python3 ~] |
| [root@python3 ~] |
| |
| |
| mkdir /var/ftp/pub/centos7 |
| [root@python3 ~] |
| |
| |
| vim ftp.repo |
| |
| [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 |
四、源码包应用
0、源码包解压缩
| |
| unzip xxx.zip |
| |
| |
| tar xf xxx.tar |
| |
| |
| mount -o loop xxx.iso /test |
| |
| |
| cpio -idcmv < xxx.cpio |
1、python3.6安装
| |
| cd /opt |
| ls |
| |
| |
| [root@py3 opt] |
| |
| |
| [root@py3 opt] |
| |
| |
| [root@py3 opt] |
| |
| |
| [root@py3 opt] |
| [root@py3 Python-3.6.1] |
| |
| |
| make |
| |
| |
| make install |
2、mysql源码包安装
3、redis源码包安装
| |
| cd /opt |
| ls |
| |
| |
| [root@py3 opt] |
| |
| |
| [root@py3 opt] |
| |
| |
| [root@py3 redis-3.2.10] |
| |
| |
| vim /etc/profile |
| |
| export PATH=/opt/redis-3.2.10/src:$PATH |
| |
| |
| source /etc/profile |
| |
| |
| [root@py3 ~] |
| |
| |
| [root@py3 opt] |
| cd redis-py-master |
| [root@py3 redis-py-master] |
| |
| |
| python3 |
| >>>import redis |
| >>>r = redis.StrictRedis(host='localhost', port=6379) |
| >>>r.set('name', 'oldguo') |
| True |
| >>>r.get('name') |
| 'oldguo' |
五、二进制包使用(mysql安装)
例如:mysql5.7.20二进制包安装
| useradd mysql |
| mkdir /opt/mysql/data |
| chown -R mysql.mysql /opt/mysql |
| cd /opt |
| ls |
| |
| |
| [root@py3 opt] |
| |
| |
| vim /etc/profile |
| |
| export PATH=/opt/mysql/bin:$PATH |
| |
| |
| source /etc/profile |
| |
| |
| yum remove mariadb-libs |
| |
| |
| 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 |
| |
| |
| [root@py3 ~] |
| [root@py3 ~] |
| [root@py3 ~] |
| |
| |
| [root@py3 ~] |
| [root@py3 ~] |
| [root@py3 ~] |
| |
| |
| cd /opt/mysql/support-files |
| [root@py3 support-files] |
| [root@py3 support-files] |
| |
| |
| /etc/init.d/mysqld restart |
| |
| |
| |
| 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 |
| |
| [root@py3 support-files] |
| [root@py3 support-files] |
| [root@py3 support-files] |
| |
| |
| |
| [root@py3 ~] |
| |
| |
| |
| mysql>grand all on *.* root@'10.0.0.100' idenitfied by '123'; |
| mysql>create database bbs charset utf8; |
| |
| |
| [root@py3 ~] |
| [root@py3 ~] |
| |
| vim test.py |
| |
| 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() |
| |
| [root@py3 ~] |
六、运行Django项目
1、安装依赖包
2、安装测试Django框架和uwsgi
(1)安装Django框架和uwsgi
| |
| pip3 install uwsgi |
| pip3 install django |
| 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 |
| |
| pip3 install -i https://pypi.doubanio.com/simple/ -r re.txt |
(2)测试uwsgi
| |
| |
| |
| [root@py3 ~] |
| [root@py3 ~] |
| [root@py3 opt] |
| [root@py3 ~] |
| [test@py3 ~] |
| |
| def application(env, start_response): |
| start_response('200 OK', [('Content-Type','text/html')]) |
| return [b"Hello Django"] |
| [test@py3 opt] |
| |
| |
(3)测试Django项目
| |
| [root@web01 ~] |
| [root@web01 ~] |
| [root@web01 demosite] |
| |
| |
| |
3、配置uwsgi与nginx
-
uwsgi
| Django 所提供的是一个开发服务器,这个开发服务器,没有经过安全测试,而且使用的是 Python 自带的 simple HTTPServer 创建的,在安全性和效率上都是不行的 |
| |
| 而uWSGI 是一个全功能的 HTTP 服务器,他要做的就是把 HTTP 协议转化成语言支持的网络协议。比如把 HTTP 协议转化成 WSGI 协议,让 Python 可以直接使用 |
-
nginx
Nginx是一个轻量级、高性能、稳定性高、并发性好的HTTP和反向代理服务器
| 正向代理:某些情况下,代理我们用户去访问服务器,需要用户手动的设置代理服务器的ip和端口号。 |
| 反向代理:是用来代理服务器的,代理我们要访问的目标服务器。 |
| 代理服务器接受请求,然后将请求转发给内部网络的服务器(集群化), |
| 并将从服务器上得到的结果返回给客户端,此时代理服务器对外就表现为一个服务器 |
| |
(1)配置uwsgi
| |
| [root@web01 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 |
| |
| |
| [root@web01 demosite] |
(2)配置nginx
| |
| [root@web01 demosite] |
| |
| 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; |
| } |
| } |
| |
| |
| [root@web01 demosite] |
(3)测试
| 浏览器访问10.0.0.100,不用输端口号,就可以访问Django的项目的页面 |
博客内容仅供参考,部分参考他人优秀博文,仅供学习使用
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)