阿里云部署

一、Ubuntu安装python 3. 7

1.准备

在安装之前,请使用以下命令安装Python的先决条件。

sudo apt-get install build-essential checkinstall
sudo apt-get install libreadline-gplv2-dev libncursesw5-dev libssl-dev \
    libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev

2.安装

使用python官方站点的以下命令下载Python。您也可以下载最新版本代替下面指定的版本。

cd /usr/src
sudo wget https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tgz

sudo tar xzf Python-3.7.0.tgz

3. 编译

使用下面的命令集来使用altinstall在您的系统上编译python源代码。

cd Python-3.7.0
sudo ./configure --enable-optimizations
sudo make altinstall

   make altinstall用于防止替换默认的python二进制文件/ usr / bin / python。

4.检查Python版本

python3.7 -V

问题:安装python3.7出现ModuleNotFoundError: No module named ‘_ctypes’解决办法

解决办法:

sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade
sudo apt-get install build-essential python-dev python-setuptools python-pip python-smbus
sudo apt-get install build-essential libncursesw5-dev libgdbm-dev libc6-dev
sudo apt-get install zlib1g-dev libsqlite3-dev tk-dev
sudo apt-get install libssl-dev openssl
sudo apt-get install libffi-dev

二、安装MySQL

1、使用以下命令即可进行mysql安装,注意安装前先更新一下软件源以获得最新版本:

$ sudo apt-get update  #更新软件源
$ sudo apt-get install mysql-server  #安装mysql

上述命令会安装以下包:
apparmor
mysql-client-5.7
mysql-common
mysql-server
mysql-server-5.7
mysql-server-core-5.7

 注意:因此无需再安装mysql-client等。安装过程会提示设置mysql root用户的密码,设置完成后等待自动安装即可。默认安装完成就启动了mysql。

2、启动和关闭mysql服务器:

$ service mysql start
$ service mysql stop

3、确认是否启动成功,mysql节点处于LISTEN状态表示启动成功:

$ sudo netstat -tap | grep mysql

4、进入mysql shell界面:

$ mysql -u root -p

5、解决利用sqoop导入MySQL中文乱码的问题(可以插入中文,但不能用sqoop导入中文)
导致导入时中文乱码的原因是character_set_server默认设置是latin1,如下图。

可以单个设置修改编码方式set character_set_server=utf8;但是重启会失效,建议按以下方式修改编码方式。
(1)编辑配置文件。sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf
(2)在[mysqld]下添加一行character_set_server=utf8。如下图

(3)重启MySQL服务。

service mysql restart

(4)登陆MySQL,并查看MySQL目前设置的编码。show variables like "char%";

完成编码方式的修改后,即解决了sqoop导入MySQL中文乱码的问题。至此,ubuntu系统上顺利完成安装mysql数据库。

迁移的时候报错没有开虚拟环境):

 

三、Ubuntu16.04下安装和配置Redis

(一)、前提条件

需要连接互联网,然后执行sudo apt-get update更新软件包

(二)、执行安装命令

sudo  apt-get install redis-server 执行后如下图所示,我们输入y 确认安装并使用空间

接下来会执行完成,我们可以看到包括redis的版本信息等,执行service  redis status 可以查看redis服务的状态为running,说明安装完成系统自动启动了服务

(三)、end配置redis服务(不用就不配)

3.1:开启远程连接

找到/et/redis/redis.conf文件修改如下   ,注释掉  127.0.0.1   #bind 127.0.0.1,如果不需要远程连接redis则不需要这个操作

3.2:设置密码

找到/et/redis/redis.conf文件修改如下   ,添加  requirepass kingredis(密码设置为kingredis)

(四)、测试redis服务

步骤三的操作完成后,重启redis服务需要,接下来我们来测试,

4.1:测试密码设置成功

执行redis-cli命令打开redis客户端  set操作的时候要求我输入密码,说明密码设置成功,执行auth 密码验证密码后,可以执行set操作

4.2:测试远程登录

在本地window打开一个客户端 ,cd到redis安装的目录,主要是要有redis-cli.exe的目录输入 redis-cli -h redis服务器IP -p redis服务端口号(默认6379)

如上图所示,访问远程redis服务成功,操作redis成功,说明我们远程的redis安装切配置安全密码成功了

查看redis日志(需要 cd uwsgi_conf)

启动UWSGI日志:

tail -f uwsgi.log

启动redis:

sudo /etc/init.d/redis-server start 

(五)、需要注意的是

如果是阿里云服务器,切记要在安全组、安全策略里面加入服务的端口号,允许所有地址访问,如下图,才可以,即在阿里云服务器的所有服务都需要把端口映射出来才可以,如果没有做这一步,上面的redis-cli命令就会处于一直等待的状态

 

四、安装虚拟环境:  

1、安装虚拟环境:

​1、pip3 install virtualenv

2、pip3 install virtualenvwrapper

2、让virtualenvwrapper生效:

在~/.bashrc下加上以下几句:

export WORKON_HOME=$HOME/.virtualenvs

export PROJECT_HOME=$HOME/workspace

source /usr/local/bin/virtualenvwrapper.sh

3、让编辑后的文件生效:

source ~/.bashrc

生成requirements文件:

pip3 freeze > requirements.txt

4、创建虚拟环境:

mkvirtualenv -p python3  环境名字

5、进入环境:

workon 环境名字

6、安装所依赖的所有py包,中间出错的包额外安装即可:

pip3 install -r requirements.txt

退出虚拟环境:

deactivate

此处会报错:

 

解决:

如果是因为setuptools版本过低,就升级版本:

$ pip install --upgrade setuptools

如果升级后依然报错,就安装setuptools-scm

$ pip install setuptools_scm

之后重新安装django-haystack,成功:

pip install django-haystack==2.8.1

此处会报错:

      

解决:

1.先安装 客户端程序:

sudo apt install -y mysql-client

2.基于python安装mysqlclient需要依次安装以下库:

sudo apt-get install libmysqlclient-dev
sudo apt install libssl-dev 
sudo apt install libcrypto++-dev 

3.使用pip安装mysqlclient

sudo pip3 install mysqlclient
或者在虚拟环境中用如下命令安装指定版本
(cootuu) root@VM-0-6-ubuntu:~# pip install mysqlclient==2.0.1

五、安装nginx

sudo apt-get install nginx  #安装

1.1启动Nginx:

    nginx 常用命令

查看文件格式是否出错 sudo nginx -t

查找nginx路径 whereis nginx

启动 service nginx start

停止 nginx -s stop

退出 nginx -s quit

重启加载配置 nginx -s reload

查看接入日志 tail -f /var/log/nginx/access.log

查看错误日志 tail -f /var/log/nginx/error.log

netstat -anptu | grep 8888 # 查看8888端口被哪一个程序占用

ps -ef |grep uwsgi 查看进程

pkill -9 nginx 杀nginx后台

pkill -9 uwsgi 杀uwsgi 后台

1、输入下面命令,查看nginx默认配置文件的目录

nginx -t

2、默认文件目录为/etc/nginx/nginx.conf
      然后cd到/etc/nginx/下

cd /etc/nginx/

cd conf.d

vi nginx.conf 

vim nginx.conf 

3、编辑nginx配置文件:

server {
 listen 8000;
 server_name 172.19.37.64;

 location / {
 include uwsgi_params;
 uwsgi_pass 127.0.0.1:3366;
 uwsgi_ignore_client_abort on;
 }
}

server {
 listen 8080; #1.你想让你的这个项?跑在哪个端口
 server_name 116.62.12.185; #2.当前服务器ip
 location / {
 root /opt/dist; #3.dist
文件的位置(我是直接放在home目录下了)
 try_files $uri $uri/ /index.html; #4.重定向,内部文件的指
向(照写)
 }
 }

4、进入到django项目并进行启动且进入虚拟环境

六、安装uwsgi

启动uwsgi命令:

uwsgi --ini uwsgi.ini

重启uwsgi命令:

nginx: sudo service nginx restart

1、安装uwsgi

pip3 install uwsgi

2、查看安装路径 whereis uwsgi ---查看路径都可以使用这个

3、在django项目和Vue同级创建

4、继续下步操作:

[uwsgi]
socket=127.0.0.1:3366
# 使用Nginx连接时使用,Django程序所在服务器地址和端口号
#http=172.19.37.64:8000
# 自定义的ip 和 端口号,socket 用于和nginx进行通信      
#私网ip 端口号自定义,http用于用于测试  
# 项目目录绝对路径
chdir=/opt/P8                          
# 项目的绝对路径 manage.py的路径 ,pwd后复制   
wsgi-file=P8/wsgi.py
#   相对路径    项目中wsgi.py文件,与setting.py同级  
# 进程数(机器核数的1倍)
processes=4
# 线程数
threads=50
# uwsgi服务器的角色
master=True
# 存放进程编号的文件
pidfile=uwsgi.pid
# 日志文件
daemonize=uwsgi.log
# 指定依赖的虚拟环境
virtualenv=/root/.virtualenvs/master
posted @ 2021-03-01 10:06  大脸源  阅读(106)  评论(0)    收藏  举报