Linux之项目部署

一 部署环境准备(准备Python3和虚拟机环境解释器,virtualenvwrapper)

1 下载virtualenvwrapper

pip3 install -i https://pypi.douban.com/simple virtualenvwrapper

2 修改Python3的环境变量,写入到/etc/profile中

PATH=/opt/python36/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/opt/ruby/bin/:/root/bin

3 修改~/.bashrc 写入变量

4 新建一个虚拟环境  boy

mkvirtualenv boy

5 准备前后端代码

使用wget 下载下来
如:
wget 前端文件地址
wget后端文件地址
如果代码在本地,传到服务器 使用 lrzsz 和xftp工具

6 下载完成后,解压缩代码

unzip 前端的压缩文件
unzip 后端的压缩文件  

注意 根据你的压缩文件的格式 选择解压缩的方式

7 前端中的代码

(1)准备node打包环境

wget https://nodejs.org/download/release/v8.6.0/node-v8.6.0-linux-x64.tar.gz

(2)解压缩node包,配置环境变量,使用npm和node命令

tar命令解压文件
tar -xzf    node-v8.6.0-linux-x64.tar.gz

(3)检测node和npm

node -v
npm -v

#注意要是完成了之后,执行这两个命令 结果都是出现相应的版本号

(4)安装vue项目所需的包

npm install    #下载Vue所需的包
npm run build #执行Vue项目
#这两条都正确配置之后,就会生成一个 dist 静态文件目录,整个项目的前端内容和index.html都在这里了

(5)等待nginx加载这个dist文件夹

8 部署后端代码所需的环境

(1)激活虚拟环境

workon boy

(2) 通过一条命令,到处本地的所有软件包依赖

pip3 freeze > requirements.txt

(3) 将这个requirements.txt传到服务器中,在服务器的新虚拟环境中,安装这个文件,就能安装所有的软件包了

pip3 install -r  requirements.txt

这个文件的内容如下:项目所需的软件包都在这里

[[email protected] opt]# cat requirements.txt
			certifi==2018.11.29
			chardet==3.0.4
			crypto==1.4.1
			Django==2.1.4
			django-redis==4.10.0
			django-rest-framework==0.1.0
			djangorestframework==3.9.0
			idna==2.8
			Naked==0.1.31
			pycrypto==2.6.1
			pytz==2018.7
			PyYAML==3.13
			redis==3.0.1
			requests==2.21.0
			shellescape==3.4.1
			urllib3==1.24.1
			uWSGI==2.0.17.1

(4)准备uwsgi 支持高并发的启动python项目(注意uwsgi不支持静态文件的解析,必须用nginx去处理静态文件

1 安装uwsgi

 pip3 install -i https://pypi.douban.com/simple uwsgi

2 学习uwsgi的使用方法

通过uwsgi启动一个python web文件
uwsgi --http :8000 --wsgi-file   s15testuwsgi.py
	--http 指定http协议
	--wsgi-file  指定一个python文件

通过uwsgi启动django项目,并且支持热加载项目,不重启项目,自动生效 新的 后端代码
uwsgi --http  :8000 --module s15drf.wsgi    --py-autoreload=1
--module 指定找到django项目的wsgi.py文件

5 使用uwsgi 的配置文件,启动项目

1.创建一个uwsgi.ini配置文件,写入参数信息
touch uwsgi.ini    #创建uwsgi.ini配置文件

写入

[uwsgi]
# Django-related settings
# the base directory (full path)
#指定项目的绝对路径的第一层路径!!
chdir           = /opt/s15vuedrf/luffy_boy/

# Django‘s wsgi file
#  指定项目的 wsgi.py文件!
#  写入相对路径即可,这个参数是以  chdir参数为相对路径
module          = luffy_boy.wsgi

# the virtualenv (full path)
# 写入虚拟环境解释器的 绝对路径!!!!!!
home            = /root/Envs/s15vuedrf
# process-related settings
# master
master          = true
# maximum number of worker processes
#指定uwsgi启动的进程个数
processes       = 1

#这个参数及其重要!!!!!!
# the socket (use the full path to be safe
#socket指的是,uwsgi启动一个socket连接,当你使用nginx+uwsgi的时候,使用socket参数
socket          = 0.0.0.0:8000

#这个参数是uwsgi启动一个http连接,当你不用nginx只用uwsgi的时候,使用这个参数
#http  =  0.0.0.0:8000

# ... with appropriate permissions - may be needed
# chmod-socket    = 664
# clear environment on exit
vacuum          = true

6 使用uwisgi配置文件启动项目

uwsgi --ini  uwsgi.ini

supervisor进程管理工具

1 将Linux进程运行在后台的方法有哪些

第一个,命令后面加上 &  符号
python  manage.py  runserver & 

第二个 使用nohup命令

第三个使用进程管理工具

2.安装supervisor,使用python2的包管理工具 easy_install ,注意,此时要退出虚拟环境!!!!

如果没有此命令,使用以下命令安装
yum install python-setuptools
easy_install supervisor

3 通过命令,生成一个配置文件,这个问价就是写入你要管理的进程任务

echo_supervisord_conf > /etc/supervisor.conf

4 编辑这个配置文件,写入操作django项目的命令

vim /etc/supervisor.conf   #进入编辑
直接到最底行,写入以下配置
[program:s15luffy]
command=/root/Envs/s15vuedrf/bin/uwsgi  --ini  /opt/s15vuedrf/luffy_boy/s15drf/uwsgi.ini

5 启动supervisord服务端,指定配置文件启动

supervisord -c  /etc/supervisor.conf

6 通过supervisorctl管理任务

supervisorctl -c /etc/supervisor.conf

7 supervisor管理django进程的命令如下

supervisorctl直接输入命令会进入交互式的操作界面
>  stop s15luffy
>  start s15luffy
>  status s15luffy

8 启动后端代码

nginx的配置步骤如下

1 编辑安装nginx

2 nginx.conf配置如下

#第一个server虚拟主机是为了找到vue的dist文件, 找到项目的index.html
server {
        listen       80;
        server_name  192.168.13.79;

		#当请求来自于 192.168.13.79/的时候,直接进入以下location,然后找到vue的dist/index.html
        location / {
            root   /opt/s15vuedrf/07-luffy_project_01/dist;
            index  index.html;
        }

	}

#由于vue发送的接口数据地址是 192.168.13.79:8000  我们还得再准备一个入口server
server {
	listen 8000;
	server_name  192.168.13.79;

	#当接收到接口数据时,请求url是 192.168.13.79:8000 就进入如下location
	location /  {
		#这里是nginx将请求转发给  uwsgi启动的 9000端口
		uwsgi_pass  192.168.13.79:9000;
		# include  就是一个“引入的作用”,就是将外部一个文件的参数,导入到当前的nginx.conf中生效
		include /opt/nginx112/conf/uwsgi_params;
	}
}

3 启动nginx

./sbin/nginx     #执行这句话 直接启动此时可以访问 192.168.13.79  查看页面结果

注意注意:redis必须安装好,存放数据

原文地址:https://www.cnblogs.com/mlhz/p/10257113.html

时间: 2024-08-01 17:16:52

Linux之项目部署的相关文章

linux 上项目部署步骤详解

此文预设linux已经安装完毕,进行余下步骤的总结! 第一步:实现linux系统与windows间的网络互通 虚拟机软件版本VMware v7.1.4以上,VMware按照完成之后,在Windows的网络连接中会出现VMware Network Adapter VMnet1和VMware Network Adapter VMnet8两个虚拟网卡的连接. 虚拟机可使用VMnet8,所以需要将VMware Network Adapter VMnet8的ip地址与Windows的ip地址设为同一网段内

linux(centos) 项目部署阶段相关命令汇总

1.ssh免密码登陆 主要命令 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys-->添加公钥 service sshd restart -->重启ssh服务 参考链接: http://jingyan.baidu.com/article/2fb0ba4043124a00f2ec5f0f.html 2.查看系统相关信息: uname -a 查看OS详细信息 file /bin/ls 显示系统程序信息,就能看出多少位 获得机器字长 getc

Linux安装Eclipse及项目部署

安装Eclipse 1. 首先解压Eclipse tar -zxvf eclipse-standard-kepler-SR1-linux-gtk.tar.gz -C user/local/src 2. 重新启动 加载JDK 3. 桌面创建快捷方式 Create Launcher 选择启动文件 切换图标 项目部署 1. 首先打开压缩文件 $ unzip text.zip 2. 然后修改 .sql文件的编码 查看文件编码 file bank.sql 修改文件编码 iconv -f GBK -t UT

Linux环境下快速项目部署

由于Linux和Java一样开源,所以现在在服务器的部署上基本上都是采用Linux平台作为服务器,然后部署项目!在开发项目的过程中,绝大部分程序猿还是使用最经典的windows操作系统,虽然Linux也有桌面化的系统,对于国人来说,还是不太习惯,并且国内的软件绝大部分都不支持Linux平台,所以在使用的频率那是相当的少! 在开发中,开发环境中编译使用等一系列通过后,还不能说功能已经ok,因为环境一旦变化,出现的问题的可能是自己没有考虑的,所以程序猿都知道真实的环境才是最可靠的,有时候出现的问题,

linux系统上部署一个web项目

对于apache开源项目中tomcat的认识,大多停留在Windows下,这次我通过一个简单的实例来介绍一下在linux下如何搭建tomcat环境,并且部署一个web项目. 先从基本安装开始,可别小看linux下的文件安装,那可不是windows下点击next就可以完成,但也并不复杂,重要的是我们学会怎么用快速理解和掌握它,那么一切就变得容易多了,开始吧,当然在安装部署tomcat之前必须先安装好jdk1.6的环境,具体见上一遍博客linux下jdk的安装. 1.先从Apache的官方网站下载下

Linux tomcat部署War包,Linux在Tomcat部署JavaWeb项目,Linux部署War包

Linux tomcat部署War包,Linux在Tomcat部署JavaWeb项目,Linux部署War包 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> ©Copyright 蕃薯耀 2017年3月6日 http://www.cnblogs.com/fanshuyao/ 一.Linux快速部署W

windows下载的java项目部署到linux的各种解决方案

1.Java是跨平台的,在linux下有问题,主要一是文件读取权限:二检查下系统环境变量设置可正确!.profile JavaWeb_将Windows平台上开发的JavaWeb项目部署到Linux平台上 步骤: 1.在Windows平台上,通过MyEclipse的[File] -> [Export] -> 将项目打包成.war文件: 2.在Windows平台上,删除.war文件中与Linux平台上重复或冲突的.jar文件,一般会在项目的notes文件中说明: 3.通过浏览器访问Linux平台的

Linux CentOS6.8 项目部署脚本实现

面向刚接触linux环境的新手,老鸟勿拍~ 部署环境及配置: tomcat9,maven3.3.9,git 1.12.0 ##定义一些变量,将需要用到的 source目录,项目目录,名称等定义变量,方便使用buildpkg=/mnt/xxx-tomcat-9.0.0.M4/gitsourcepkg/ #git拉取源码存放目录 buildpkgName=xxx-0.0.1-SNAPSHOT.war #maven打包后生成的包名 targetpath=/mnt/xxx-tomcat-9.0.0.M4

使用java service wrapper将项目部署到linux服务器上

最近有需求是将java项目部署到linux服务器上作为服务端程序,最后经过测试成功.本着分享精神将总结出来的路子分享给大家,如果不明白的地方可以在下边留言,谢谢. 将java项目部署到linux服务器 1.      首先从官网下载http://wrapper.tanukisoftware.com/doc/english/download.jsp,注意下载的文件为Community列中的(PS:其他版本需要序列号) 2.      将写好的java项目打成jar包,待用 3.      将下载好