项目部署环境搭建

目录

  • 项目部署环境搭建

    • 一、linux上网
    • 二、rpm包管理
      • 1、光盘挂载
      • 2、安装卸载rpm包
      • 3、查询是否安装
      • 4、查看软件包
      • 5、互相依赖关系的软件包
    • 三、yum包管理
      • 1、使用aliyun的yum源
      • 2、使用yum安装软件
      • 3、查看yum源的软件包
      • 4、删除软件包
      • 5、优化yum源
    • 四、源码包应用
      • 0、源码包解压缩
      • 1、python3.6安装
      • 2、mysql源码包安装
      • 3、redis源码包安装
    • 五、二进制包使用(mysql安装)
    • 六、运行Django项目
      • 1、安装依赖包
      • 2、安装测试Django框架和uwsgi
      • 3、配置uwsgi与nginx

项目部署环境搭建

一、linux上网

安装好linux系统后,就配置好了

二、rpm包管理

1、光盘挂载

 mount /dev/cdrom /mnt     # 挂载
 cd  /mnt     # 进入mnt目录
 ls    # 查看

2、安装卸载rpm包

  • 进入Packages中才能安装软件
 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     # 查看命令的具体路径  /usr/bin/vim
rpm -qf  /usr/bin/vim     # 查看命令来自哪个软件包

5、互相依赖关系的软件包

rpm -ivh a b c d e    # 所有软件包一起安装

三、yum包管理

1、使用aliyun的yum源

# 1.安装BASE源
cd /etc/yum.repos.d/      # 切换到源的配置文件
mv *.repo /tmp     # 将系统自带的源清除
wget http://mirrors.aliyun.com/repo/Centos-7.repo       # 下载安装centos

# 2.安装EPEL源
yum install -y epel-release

2、使用yum安装软件

[[email protected] ~]# yum install openssl
yum install openssl-devel

3、查看yum源的软件包

yum list
yum list |grep vsftpd()  # 查看vsftpd开头的所有软件包
yum grouplist    # 查看所有的组
yum groupinstall "Developement Tools"  # 安装一个组的软件包

4、删除软件包

 yum remove aaaa(软件包名)

5、优化yum源

(1)使用本地源

# 1.将原来的包移除
mv *.repo ali
# 2.创建源
vim local.repo
# 3.编辑,内容如下:
    [local]
    name=localios
    baseurl=file:///mnt
    gpgchech=0
# 4.清空原来的源
yum clean all
# 5.下载
yum install -y vsftpd

(2)局域网yum源配置

# 1.安装ftp软件
yum install -y vsftpd

# 2.启动ftp服务
[[email protected] ~]# systemctl start vsftpd
[[email protected] ~]# systemctl enable  vsftpd

# 3.创建站点目录,并将光盘软件拷贝到其中
mkdir /var/ftp/pub/centos7
[[email protected] ~]# cp -a /mnt/* /var/ftp/pub/centos7

# 4.生成ftp站点的yum源配置文件
vim ftp.repo   # 创建并进入编辑
# 编辑内容如下:
    [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

四、源码包应用

0、源码包解压缩

# .zip文件解压缩
unzip xxx.zip

# .tar / .tar.gz / .tgz / .tar.bz2 / .tar.xz解压
tar xf xxx.tar

# .iso使用
mount -o loop xxx.iso  /test    # .iso文件使用,必须要先挂载到某处再使用

# .cpio(早起文件的打包方式)
cpio -idcmv < xxx.cpio

1、python3.6安装

# 1.现将源码文件压缩包拖入在opt目录中
cd /opt    # 进入opt目录
ls     # 查看opt目录下所有的文件,显示为红色的压缩包

# 2.python使用c编译,现状gcc环境
[[email protected] opt]# yum install gcc*    # 安装所有gcc包

# 3.安装openssl,支持访问http站点
[[email protected] opt]# yum install -y openssl

# 4.解压
[[email protected] opt]# tar xf Python-3.6.1.tar.xz

# 5.进入目录,配置
[[email protected] opt]# cd Python-3.6.1/
[[email protected] Python-3.6.1]# ./confugure        # 定制功能,检查是否满足软件包的安装

# 6.编译c源码生成二进制
make

# 7.完善编译,完成拷贝授权
make install

2、mysql源码包安装

cmake    # 定制功能
make   # 编译
make install    # 授权拷贝

3、redis源码包安装

# 1.现将源码文件压缩包拖入在opt目录中
cd /opt    # 进入opt目录
ls     # 查看opt目录下所有的文件,显示为红色的压缩包

# 2.解压
[[email protected] opt]# tar xf redis-3.2.10.tar.gz

# 3.进入目录
[[email protected] opt]# cd redis-3.2.10/

# 4.编译c源码生成二进制
[[email protected] redis-3.2.10]# make

# 5.设置环境变量
vim /etc/profile
    # 在文件最后一行加上
    export PATH=/opt/redis-3.2.10/src:$PATH

# 6、生效
source /etc/profile

# 7.启动
[[email protected] ~]# redis-server &

# 8.python连接redis
[[email protected] opt]# unzip redis-py-master.zip      # 解压驱动包
cd redis-py-master    # 进入驱动目录
[[email protected] redis-py-master]# python3 setup.py install          # 手动安装python包

# 9.测试python连接redis
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# 1.现将源码文件压缩包拖入在opt目录中
cd /opt    # 进入opt目录,手动拖入
ls     # 查看opt目录下所有的文件,显示为红色的压缩包

# 可以设置一个软链接(快捷方式)
[[email protected] opt]# ln -s mysql-5.7.20-linux-glibc2.12-x86_64 mysql

# 2.设置环境变量
vim  /etc/profile
    # 编辑环境变量,添加内容如下:
    export PATH=/opt/mysql/bin:$PATH

# 3.生效配置
source /etc/profile

# 4.卸载自带的mariadb
yum remove mariadb-libs

# 5.生成配置文件
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

# 6.创建用户和数据目录,并授权
[[email protected] ~]# useradd mysql     # 创建用户
[[email protected] ~]# mkdir  /opt/mysql/data     # 创建目录
[[email protected] ~]# chown -R mysql.mysql /opt/mysql     # 授权

# 7.初始化数据
[[email protected] ~]# touch /var/log/mysql.log        # 创建空文件
[[email protected] ~]# chown -R mysql.mysql /var/log/mysql.log       # 授权
[[email protected] ~]# mysqld --initialize-insecure --basedir=/opt/mysql --datadir=/opt/mysql/data --user=mysql       # 初始化 

# 8.启动mysql数据库
cd /opt/mysql/support-files
[[email protected] support-files]# ./mysql.server start
[[email protected] support-files]# cp mysql.server /etc/init.d/mysqld        # 方便以后启动

# 拷贝完以后,启动mysql
/etc/init.d/mysqld restart

# 或者使用systemctl启动
    # 生成配置文件
    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
    # 启动关闭
    [[email protected] support-files]# systemctl start mysqld
    [[email protected] support-files]# systemctl restart mysqld
    [[email protected] support-files]# systemctl stop mysqld
    # 注意不能两种启动凡是混合使用

# 9.测试mysql
[[email protected] ~]# mysql

# 10.python连接mysql测试
mysql>grand all on *.* [email protected]‘10.0.0.100‘ idenitfied by ‘123‘;       # 授权用户
mysql>create database bbs charset utf8;      # 创建数据库

    # 安装python连接mysql的包
    [[email protected] ~]# pip3 install --upgrade pip     # 更新pip
    [[email protected] ~]# pip3 install pymysql     # 安装pymysql
    # 测试python程序
    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()
    # 执行python文件
    [[email protected] ~]# python3 test.py

六、运行Django项目

1、安装依赖包

[[email protected] ~]# yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel gcc gcc-c++  openssl-devel zlib zlib-devel -y

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
# 从豆瓣上下载Django和uwsgi等包
pip3 install -i https://pypi.doubanio.com/simple/ -r re.txt

(2)测试uwsgi

# 测试uwsgi
# 普通用户测试

[[email protected] ~]# useradd test
[[email protected] ~]# cd /opt
[[email protected] opt]# vim test.py
[[email protected] ~]# su - test         # 切换用户,用普通启动uwsgi
[[email protected] ~]# cd /opt
# 内容:
    def application(env, start_response):
        start_response(‘200 OK‘, [(‘Content-Type‘,‘text/html‘)])
        return [b"Hello Django"]
[[email protected] opt]# uwsgi --http :8001 --wsgi-file test.py &          # 运行test文件

# 启动uwsgi以后,运行test.py,浏览器访问10.0.0.100:8001,成功则访问到Hello Django

(3)测试Django项目

# 测试Django
[[email protected] ~]# django-admin.py startproject demosite         # 生成一个空的Django项目
[[email protected] ~]# cd demosite     # 进入demosite项目
[[email protected] demosite]# python3 manage.py runserver 0.0.0.0:8002      # 启动Django项目

# 将项目中的setting.py文件中的 ALLOWED_HOSTS=[]修改为ALLOWED_HOSTS=[‘*‘],使所有地址都可以访问
# 在浏览器中,测试是否运行成功,10.0.0.100:8002  ,成功则访问到空Django页面

3、配置uwsgi与nginx

  • uwsgi

    Django 所提供的是一个开发服务器,这个开发服务器,没有经过安全测试,而且使用的是 Python 自带的 simple HTTPServer 创建的,在安全性和效率上都是不行的
    
    而uWSGI 是一个全功能的 HTTP 服务器,他要做的就是把 HTTP 协议转化成语言支持的网络协议。比如把 HTTP 协议转化成 WSGI 协议,让 Python 可以直接使用
    
  • nginx
    Nginx是一个轻量级、高性能、稳定性高、并发性好的HTTP和反向代理服务器

    正向代理:某些情况下,代理我们用户去访问服务器,需要用户手动的设置代理服务器的ip和端口号。
    反向代理:是用来代理服务器的,代理我们要访问的目标服务器。
        代理服务器接受请求,然后将请求转发给内部网络的服务器(集群化),
        并将从服务器上得到的结果返回给客户端,此时代理服务器对外就表现为一个服务器
    

(1)配置uwsgi

# 1.配置
[[email protected] demosite]# vim /root/demosite/uwsgi.ini      # 编辑uwsgi的配置文件
# 内容如下:
    [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

# 2.启动uwsgi
[[email protected] demosite]# uwsgi --ini /root/demosite/uwsgi.ini &

(2)配置nginx

# 1.配置nginx
[[email protected] 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;    # demosite.wsgi 是
            uwsgi_param UWSGI_CHDIR /root/demosite;       # /root/demosite 是项目目录
        }
    }

# 2.重启nginx
[[email protected] demosite]# systemctl restart nginx

(3)测试

浏览器访问10.0.0.100,不用输端口号,就可以访问Django的项目的页面

原文地址:https://www.cnblogs.com/ZKPython/p/11385765.html

时间: 2024-08-29 12:37:50

项目部署环境搭建的相关文章

Jendins+svn+maven+tomcat自动化部署环境搭建

在一个Tomcat集群的架构体系中,需要一个自动发布平台,对于大的公司都是自己建设,而对于中小公司一般采取的使用开源搭建,所以接下来详细介绍基于Jendins+svn+maven+tomcat的自动化部署环境搭建. 1. jenkins安装(svn,maven,tomcat已安装): 将jenkins.war拷贝到tomcat的webapps目录下 访问ip+端口/jenkins即安装成功: 2. 配置: 全局环境配置: 在jenkins中进入系统管理页面,选择系统管理,配置页面中的JAVA_H

S2SH开发环境搭建、框架整合、项目基础环境搭建

S2SH开发环境搭建.框架整合.项目基础环境搭建 1.S2SH框架整合 新建项目s2sh: 1.1添加jar包 1.1.1添加Struts的jar包 添加如下的jar包: commons-fileupload-1.2.2.jar commons-io-2.0.1.jar freemarker-2.3.19.jar ognl-3.0.5.jar struts2-core-2.3.4.1.jar xwork-core-2.3.4.1.jar 疑惑:这些jar可以从哪里获得呢? 对于一个框架来说,别人

iOS项目——项目开发环境搭建汇总

iOS项目--项目开发环境搭建 在开发项目之前,我们需要做一些准备工作,了解iOS扩展--Objective-C开发编程规范是进行开发的必备基础,学习iOS学习--Xcode9上传项目到GitHub是我们进行版本控制和代码管理的选择之一,明白iOS学习--iOS项目Project 和 Targets配置详解则更利于我们今天对完整项目开发环境的搭建,这些内容在在之前的博文中都已经有了一些总结和步骤说明,具体详情可以戳链接查看. 开发一个完整的App,不同于我们平时学习和练习时随意新建一个proje

Hive项目开发环境搭建(Eclipse\MyEclipse + Maven)

写在前面的话 可详细参考,一定得去看 HBase 开发环境搭建(Eclipse\MyEclipse + Maven) Zookeeper项目开发环境搭建(Eclipse\MyEclipse + Maven) 我这里,相信,能看此博客的朋友,想必是有一定基础的了.我前期写了大量的基础性博文.可以去补下基础. 步骤一:File  ->  New  -> Project   ->  Maven Project 步骤二:自行设置,待会创建的myHBase工程,放在哪个目录下. 步骤三: 步骤四:

Eclipse4.6(Neon) + Tomcat8 + MAVEN3.3.9 项目完整环境搭建

软件清单 jdk-8u102-windows-x64.exe eclipse-inst-win64.exe (Eclipse4.6 Neon) apache-tomcat-8.5.5-windows-x64.zip apache-maven-3.3.9-bin.zip 1.JDK的安装 安装过程就是next一路到底; 安装完成之后要配置环境变量: 1.1 新建变量名:JAVA_HOME 变量值:C:\Program Files\Java\jdk1.8.0_102(这是我的jdk安装路径) 1.2

iOS开发项目-01环境搭建

iOS开发项目-01环境搭建 一.基本过程 1.新建一个项目 (1)删除storyboard (2)在配置界面中,把main  删除,手动设置 2.准备素材 图片素材如下: 这个项目是模仿新浪,实现一个山寨的新浪微博系统,新版本的系统中已经放弃了非视网膜屏幕. 说白了,这种情况下,如果手机是3.5英寸的ios7系统,则看不到该启动动画. 设置方法,右键单击show in finder,修改json文件. Contents.json,对文件进行修改,让系统启动画面对3.5英寸的ios7系统提供支持

Hadoop项目开发环境搭建(Eclipse\MyEclipse + Maven)

写在前面的话 可详细参考,一定得去看 HBase 开发环境搭建(Eclipse\MyEclipse + Maven) Zookeeper项目开发环境搭建(Eclipse\MyEclipse + Maven) Hive项目开发环境搭建(Eclipse\MyEclipse + Maven) MapReduce 开发环境搭建(Eclipse\MyEclipse + Maven) 我这里,相信,能看此博客的朋友,想必是有一定基础的了.我前期写了大量的基础性博文.可以去补下基础. 步骤一:File  ->

Linux下ASP.NET5开发工具与部署环境搭建 (学习笔记)

1.说明 由于在“古董机”上进行实践,只能安装系统是ubuntu-15.04-desktop-i386 (x86 32位桌面系统,建议你装64位的) 本想在此介绍时进行一些截图或录制视频,但对Linux系统操作不是很熟,再加上系统特别“卡”, 连汉字输入都不方便(比如这篇文章敲得费劲呀),实在是杯具,只好放弃! 以下内容,有些啰嗦,抱歉!(其实也是我学习笔记,记详细点,时间长了,不怕忘.) 以下资料来源主要参考:https://docs.asp.net和https://github.com/as

iOS项目——微信H5棋牌牛牛斗牛出租平台项目开发环境搭建教程

在开发项目之前,我们需要做一些准备工作,了解iOS扩展--微信H5棋牌牛牛斗牛出租平台(h5.fanshubbs.com联系Q_1687054422),学习iOS学习--Xcode9上传项目到GitHub是我们进行版本控制和代码管理的选择之一,明白iOS学习--iOS项目Project 和 Targets配置详解则更利于我们今天对完整项目开发环境的搭建,这些内容在在之前的博文中都已经有了一些总结和步骤说明,具体详情可以戳链接查看. 开发一个完整的App,不同于我们平时学习和练习时随意新建一个pr