项目部署环境搭建

[TOC]

一、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安装软件

[root@python3 ~]# 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服务
[root@python3 ~]# systemctl start vsftpd
[root@python3 ~]# systemctl enable vsftpd # 3.创建站点目录,并将光盘软件拷贝到其中
mkdir /var/ftp/pub/centos7
[root@python3 ~]# 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环境
[root@py3 opt]# yum install gcc* # 安装所有gcc包 # 3.安装openssl,支持访问http站点
[root@py3 opt]# yum install -y openssl # 4.解压
[root@py3 opt]# tar xf Python-3.6.1.tar.xz # 5.进入目录,配置
[root@py3 opt]# cd Python-3.6.1/
[root@py3 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.解压
[root@py3 opt]# tar xf redis-3.2.10.tar.gz # 3.进入目录
[root@py3 opt]# cd redis-3.2.10/ # 4.编译c源码生成二进制
[root@py3 redis-3.2.10]# make # 5.设置环境变量
vim /etc/profile
# 在文件最后一行加上
export PATH=/opt/redis-3.2.10/src:$PATH # 6、生效
source /etc/profile # 7.启动
[root@py3 ~]# redis-server & # 8.python连接redis
[root@py3 opt]# unzip redis-py-master.zip # 解压驱动包
cd redis-py-master # 进入驱动目录
[root@py3 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目录下所有的文件,显示为红色的压缩包 # 可以设置一个软链接(快捷方式)
[root@py3 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.创建用户和数据目录,并授权
[root@py3 ~]# useradd mysql # 创建用户
[root@py3 ~]# mkdir /opt/mysql/data # 创建目录
[root@py3 ~]# chown -R mysql.mysql /opt/mysql # 授权 # 7.初始化数据
[root@py3 ~]# touch /var/log/mysql.log # 创建空文件
[root@py3 ~]# chown -R mysql.mysql /var/log/mysql.log # 授权
[root@py3 ~]# mysqld --initialize-insecure --basedir=/opt/mysql --datadir=/opt/mysql/data --user=mysql # 初始化 # 8.启动mysql数据库
cd /opt/mysql/support-files
[root@py3 support-files]# ./mysql.server start
[root@py3 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
# 启动关闭
[root@py3 support-files]# systemctl start mysqld
[root@py3 support-files]# systemctl restart mysqld
[root@py3 support-files]# systemctl stop mysqld
# 注意不能两种启动凡是混合使用 # 9.测试mysql
[root@py3 ~]# mysql # 10.python连接mysql测试
mysql>grand all on *.* root@'10.0.0.100' idenitfied by '123'; # 授权用户
mysql>create database bbs charset utf8; # 创建数据库 # 安装python连接mysql的包
[root@py3 ~]# pip3 install --upgrade pip # 更新pip
[root@py3 ~]# 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文件
[root@py3 ~]# python3 test.py

六、运行Django项目

1、安装依赖包

[root@web01 ~]# 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
# 普通用户测试 [root@py3 ~]# useradd test
[root@py3 ~]# cd /opt
[root@py3 opt]# vim test.py
[root@py3 ~]# su - test # 切换用户,用普通启动uwsgi
[test@py3 ~]# cd /opt
# 内容:
def application(env, start_response):
start_response('200 OK', [('Content-Type','text/html')])
return [b"Hello Django"]
[test@py3 opt]# uwsgi --http :8001 --wsgi-file test.py & # 运行test文件 # 启动uwsgi以后,运行test.py,浏览器访问10.0.0.100:8001,成功则访问到Hello Django

(3)测试Django项目

# 测试Django
[root@web01 ~]# django-admin.py startproject demosite # 生成一个空的Django项目
[root@web01 ~]# cd demosite # 进入demosite项目
[root@web01 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.配置
[root@web01 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
[root@web01 demosite]# uwsgi --ini /root/demosite/uwsgi.ini &

(2)配置nginx

# 1.配置nginx
[root@web01 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
[root@web01 demosite]# systemctl restart nginx

(3)测试

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

Linux(三)—— 项目部署环境搭建的更多相关文章

  1. Linux下分布式项目部署环境搭建与使用(druid-1.0.25.jar)数据库连接加密

    一.JDK安装 1.执行命令:cd Downloads/ 2.上 传:jdk-8u111-linux-x64.tar.gz 到Downloads 3.执行命令:tar -zxvf jdk-8u111- ...

  2. atitit.研发管理--标准化流程总结---java开发环境与项目部署环境的搭建工具包总结

    atitit.研发管理--标准化流程总结---java开发环境与项目部署环境的搭建工具包总结 1. ide系列(只开发环境需要,但部署环境也做好放上,很有用) 1 2. web服务器+sdk+网站程序 ...

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

    写在前面的话 可详细参考,一定得去看 HBase 开发环境搭建(Eclipse\MyEclipse + Maven) Zookeeper项目开发环境搭建(Eclipse\MyEclipse + Mav ...

  4. Qt4.8在Windows下的三种编程环境搭建

    Qt4.8在Windows下的三种编程环境搭建 Qt的版本是按照不同的图形系统来划分的,目前分为四个版本:Win32版,适用于Windows平台:X11版,适合于使用了X系统的各种Linux和Unix ...

  5. java项目测试环境搭建

    java项目测试环境搭建 2019-03-06 13:45:26 木瓜小少年 阅读数 691更多 分类专栏: 测试   版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原 ...

  6. 基于【 springBoot +springCloud+vue 项目】三 || 项目部署

    前言 今天所要讲的项目部署,并非正式环境部署,而是作为开发中的测试环境部署.随着项目模块的增多,启动的模块也随之增多,本人的电脑启动四个模块就已经卡的不行了,为了减轻电脑压力,不得不自己学着搭建一个项 ...

  7. Eclipse+Tomcat+MAVEN+SVN项目完整环境搭建

    1.JDK的安装 首先下载JDK,这个从sun公司官网可以下载,根据自己的系统选择64位还是32位,安装过程就是next一路到底.安装完成之后当然要配置环境变量了. ————————————————— ...

  8. Qt在Windows下的三种编程环境搭建

    尊重作者,支持原创,如需转载,请附上原地址:http://blog.csdn.net/libaineu2004/article/details/17363165 从QT官网可以得知其支持的平台.编译器 ...

  9. 【课程分享】深入浅出嵌入式linux系统移植开发 (环境搭建、uboot的移植、嵌入式内核的配置与编译)

    深入浅出嵌入式linux系统移植开发 (环境搭建.uboot的移植.嵌入式内核的配置与编译) 亲爱的网友,我这里有套课程想和大家分享,假设对这个课程有兴趣的,能够加我的QQ2059055336和我联系 ...

随机推荐

  1. oracle执行计划(转载)

    转载自 https://www.cnblogs.com/Dreamer-1/p/6076440.html 一:什么是Oracle执行计划? 执行计划是一条查询语句在Oracle中的执行过程或访问路径的 ...

  2. spark streaming 笔记

    spark streaming项目 学习笔记 为什么要flume+kafka? 生成数据有高峰与低峰,如果直接高峰数据过来flume+spark/storm,实时处理容易处理不过来,扛不住压力.而选用 ...

  3. 1.etcd

    etcd  v3版接口命令 etcdctl --cacert=/etc/kubernetes/pki/etcd/ca.crt  --cert=/etc/kubernetes/pki/etcd/heal ...

  4. Robot Framework +钉钉通知(Dingding[钉钉] Plugin)构建通知

    1.点击钉钉个人头像进入[机器人管理] 2.添加自定义机器人 3.创建机器人,选择通知群 4.完善机器人信息 5.复制机器人token(只需要连接access_token后面token) 6.进入je ...

  5. 重读ORB_SLAM之LocalMapping线程难点

    1. 认清几个锁与布尔参数 线程的通信与相互影响在ORB比较复杂,需要好好缕清思路. 1.1 mbStopRequested,由RequestStop函数设定,主要是在回环线程里,在运行全局优化时,以 ...

  6. MariaDB学习笔记(一)

    一.数据类型:1.整数类型: TINYINT:1Byte SMALLINT:2Byte MEDIUMINT:3Byte INT:4Byte INTEGER:4Byte BIGINT:8Byte 2.浮 ...

  7. 拓展练习:Linux权限管理--基础权限/ 特殊权限

    目录 基础权限拓展练习 特殊权限拓展练习 基础权限拓展练习 1.用户基础权限为9位,每三位为一组,每组代表着谁的权限? 前三位代表属主权限位 中间三位代表属组权限位 后三位代表其他用户权限位 2.权限 ...

  8. python请求基本库使用

    高级用法 http://cn.python-requests.org/zh_CN/latest/user/quickstart.html#url 3.2 requests 源码 def request ...

  9. deep features for text spotting 在linux,windows上使用

    做文本检测这个方向的同学应该都知道 deep features for text spotting 这篇ECCV14的文章. 用的是Matconvnet这个是深度学习框架来做文本检测,同时他还提供了代 ...

  10. setattr(object, name, value)¶

    This is the counterpart of getattr(). The arguments are an object, a string and an arbitrary value. ...