当前位置:首页 > CN2资讯 > 正文内容

云服务器 安装 雷电 雷石云服务器安装

19小时前CN2资讯

今日内容概要

  • 购买服务器和服务器配置
  • 安装mysql
  • 安装redis(源码安装)
  • 安装python3.8(源码安装)
  • 安装uwsgi
  • 配置虚拟环境
  • 安装nginx
  • 上线前端
  • 上线后端

内容详细

1、购买服务器和服务器配置

# 阿里,华为,腾讯云服务器---》按量付费---》用多少花多少钱 # 保证阿里云内要大于100块余额才能买,先用后付费 # 项目上线,需要一台服务器---》买的云服务器---》centos7.9 # 登录阿里云 搜索ECS 创建ecs---》按量付费---》选上海---》选2核4g---》装系统---》centos 7.9---》选硬盘ssd 20g---》分配公网ip(外网,大家都可以访问到)--》按使用量付费--》自定义密码--》 # 远程连接 ssh 软件:xshell连接 mac上没有 finalshell:http:///t/988.html git---》右键打开bash,用它也可以连接 本地cmd:ssh [email protected](公网IP) # 全是linux命令 ls :查看当前目录下的文件和文件夹 pwd:查看你所在路径 ... root 权限最高,linux所有配置都是文件,一切皆文件 删除文件:rm -rf /* 文件系统--》从 / 开始有很多文件夹 执行之后系统都进不了 # 远程连接 ssh root@ip地址 连接方式 软件自带的连接 # 阿里云机器 python 2.7 自带 ---》所有linux,mac都自带2.x --》系统服务 基于python写的 指令:python python 3.6.8 自带--》阿里云带的 指令:python3 也自己再装一个python 3.7 # 执行一些命令 yum update -y # 更新全部软件 yum 安装软件命令 update更新 -y:yes yum -y groupinstall "Development tools" # 批量把开发用的软件都装上 git... yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel psmisc libffi-devel -y # 解决依赖 --》不装的话 python可能装不上

1.1 项目上线架构流程图

2、安装mysql

# 1 下载mysql57 wget http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm # 2 安装 mysql57 yum -y install mysql57-community-release-el7-10.noarch.rpm yum install mysql-community-server --nogpgcheck -y # 3 启动mysql 并查看启动状态 systemctl start mysqld.service # 启动mysql服务 systemctl status mysqld.service # 查看服务 # 4 查看默认密码并登录 grep "password" /var/log/mysqld.log qB).l-)aj2)g mysql -uroot -p 输入密码登录 # 5 修改密码 ALTER USER 'root'@'localhost' IDENTIFIED BY 'Jgx12345?'; # 远程连接链不上去,在服务器本地连接可以了

3、安装redis(源码安装)

# 下载redis-5.0.5 wget http://download.redis.io/releases/redis-5.0.5.tar.gz # 解压安装包 tar -xf redis-5.0.5.tar.gz # 进入目标文件 cd redis-5.0.5 # 编译环境 src路径下就有可执行文件---》redis-server,redis-cli等 make # 复制环境到指定路径完成安装 cp -r ~/redis-5.0.5 /usr/local/redis # 配置redis可以后台启动:修改下方内容 vim /usr/local/redis/redis.conf daemonize yes # 完成配置修改 esc :wq # 建立软连接 redis-server和redis-cli 是在/usr/local/redis/src/这个路径下,它不在环境变量中, 在任意路径敲redis-cli ---》软连接到/usr/bin/,这个路径在环境变量---》以后在任意路径敲 redis-server都有响应 ln -s /usr/local/redis/src/redis-server /usr/bin/redis-server ln -s /usr/local/redis/src/redis-cli /usr/bin/redis-cli # 后台运行redis cd /usr/local/redis redis-server ./redis.conf & ctrl + c # 查看服务是否启动 ps aux |grep redis # 测试redis环境 redis-cli ctrl + c # 关闭redis服务 pkill -f redis -9

4、安装python3.8(源码安装)

# 源码编译安装---》源码 # 前往用户根目录 cd ~ # 下载 # 服务器终端 wget https://www.python.org/ftp/python/3.8.8/Python-3.8.8.tar.xz wget https://registry.npmmirror.com/-/binary/python/3.8.6/Python-3.8.6.tgz # 以3.8.6为例 # 解压安装包 tar -xf Python-3.8.6.tgz # 进入目标文件 cd Python-3.8.6 # 配置安装路径:/usr/local/python3 # 把python3.8.8 编译安装到/usr/local/python38路径下 ./configure --prefix=/usr/local/python38 # 编译并安装,如果报错,说明缺依赖 yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel psmisc libffi-devel zlib* libffi-devel -y make && make install # 建立软连接:/usr/local/python38路径不在环境变量,终端命令 python3,pip3 ln -s /usr/local/python38/bin/python3 /usr/bin/python3.8 ln -s /usr/local/python38/bin/pip3 /usr/bin/pip3.8 python 2.x python3 3.6 python3.8 3.8 # 删除安装包与文件: cd ~ rm -rf Python-3.8.6 rm -rf Python-3.8.6.tar.xz

5、安装uwsgi

# 测试阶段使用wsgiref,性能低,上线使用uwsgi性能高,它用c写的 # 安装 pip3.8 install uwsgi # bin路径下就会有uwsgi这个可执行文件,但是这个路径不在环境变量,换到其他路径找不到 建立软连接 ln -s /usr/local/python38/bin/uwsgi /usr/bin/uwsgi 在 ~目录下:执行uwsgi 测试

6、配置虚拟环境

# 1 安装依赖 python3.8 -m pip install --upgrade pip python3.8 -m pip install --upgrade setuptools pip3.8 install pbr pip3.8 install virtualenv pip3.8 install -U virtualenvwrapper -i https:///simple/ # 建立虚拟环境软连接 ln -s /usr/local/python38/bin/virtualenv /usr/bin/virtualenv # 2 配置虚拟环境:填入下方内容 vim ~/.bash_profile VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3.8 source /usr/local/python38/bin/ # 3 退出编辑状态 esc # 4 保存修改并退出 :wq # 5 更新配置文件内容 source ~/.bash_profile # 6 虚拟环境默认根目录:~/.virtualenvs # 7 创建虚拟环境 mkvirtualenv -p python3.8 luffy # 虚拟环境也要装uwsgi workon luffy # 正常进入虚拟环境 pip3.8 install uwsgi ----------------------------------------------------------------- ### 如果安装virtualenvwrapper失败 没有workon这个快捷命令 不使用虚拟环境了 不使用workon快捷指令了 # 不使用virtualenvwrapper创建和使用虚拟环境 用户家路径:mkdir virtual cd virtual ln -s /usr/local/python38/bin/virtualenv /usr/bin/virtualenv virtualenv luffy # 进入到虚拟环境 source /root/virtual/luffy/bin/activate # 退出 deactivate

7、安装nginx

# 前往用户根目录 [root@jgx ~]# cd ~ # 下载nginx1.13.7 wget http://nginx.org/download/nginx-1.13.7.tar.gz # 解压安装包 tar -xf nginx-1.13.7.tar.gz # 进入目标文件 cd nginx-1.13.7 # 配置安装路径:/usr/local/nginx [root@jgx nginx-1.13.7]# ./configure --prefix=/usr/local/nginx # 编译并安装 [root@jgx nginx-1.13.7]# make && sudo make install # 建立软连接:终端命令 nginx ln -s /usr/local/nginx/sbin/nginx /usr/bin/nginx # 删除安装包与文件: cd ~ rm -rf nginx-1.13.7 rm -rf nginx-1.13.7.tar.gz # 测试Nginx环境,服务器运行nginx,本地访问服务器ip nginx 服务器绑定的域名 或 ip:80 # 命令: 1)启动 nginx 2)关闭nginx nginx -s stop 3)重启nginx nginx -s reload 4)查看端口,强行关闭 ps -aux|grep nginx kill "pid:进程编号" # 注意:跑在80端口上可以访问,默认阿里云把80端口的安全组开放了,如果跑在8080上,需要开安全组

8、上线前端

# 把vue项目编译成纯的 html css js # 修改后端地址 luffycity项目下 src/js/assets/settings.js: base_url: "http://139.224.254.58:8080/api/v1/" # 在项目下执行cmd命令: npm run build 该命令会在项目路径下建dist文件夹,下面放着纯静态文件(html,css,js) # 把dist文件夹压缩,传到服务器上去,使用ngixn代理 在本地找到前端项目下该文件夹 生成压缩包 拖拽到服务器 ~目录 # 从远端想服务器传文件,需要在服务器安装软件 yum install -y lrzsz # 服务端要解压zip yum install -y unzip [root@jgx ~]# unzip dist.zip # 移动到某个路径 [root@jgx ~]# mkdir /home/html [root@jgx ~]# mv ~/dist /home/html # 修改nginx 的配置 去向Nginx配置目录,备份配置,完全更新配置:填入下方内容 cd /usr/local/nginx/conf mv nginx.conf nginx.conf.bak vim nginx.conf i events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; server { listen 80; server_name 127.0.0.1; charset utf-8; location / { root /home/html/dist; index index.html; try_files $uri $uri/ /index.html; # 解决单页面应用刷新404问题 } } } # 退出并保存 esc :wq # 重启nginx nginx -s reload # 访问:http://139.224.254.58

9、上线后端

9.1 上线前修改相关配置:

# 打开luffy_api后端项目 将dev.py内容复制到 pro.py中

修改pro.py:

DEBUG = False ALLOWED_HOSTS = ['*'] # 到公司上线阶段 # redis的配置 CACHES = { "LOCATION": "redis://自行更改", }

修改user_settings.py:

# 后台基URL # BASE_URL = 'http://127.0.0.1:8000' BASE_URL = 'http://139.224.254.58:8000' # 前台基URL # LUFFY_URL = 'http://127.0.0.1:8080' LUFFY_URL = 'http://139.224.254.58'

复制manage.py到项目根目录下并改名manage_pro.py

# 修改一处: os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'luffy_api.setting.pro')

9.2 导出项目环境

# Terminal窗口: pip freeze > requirements.txt

9.3 项目提交到远程git仓库

git add . git commit -m 'v1版本发布了' git pull origin master git push origin master """ 如遇报错不能推送到远方仓库: 清空远程仓库再重新推送 """

9.4 服务端下载后端

# 创建存放后台项目的目录 mkdir /home/project # 进入后台项目管理目录同步git仓库中的项目 cd /home/project git clone https://gitee.com/deity-jgx/luffy_api.git

9.5 虚拟环境安装依赖

cd luffy_api workon luffy pip install -r requirements.txt # 很有可能模块装不上,相应的解决 """ 比如mysqlclient装不上 就先进入requirements.txt 注释掉改行 先安装其他依赖 """ # 解决 mysqlclient报错: yum install mysql-devel -y yum install python-devel -y rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022 pip install mysqlclient

9.6 uwsgi与nginx后台项目配置

# 编写uwsgi的配置文件,让uwsgi启动django # 创建luffyapi.xml (luffy) [root@jgx luffy_api]# vim luffyapi.xml <uwsgi> <socket>127.0.0.1:8888</socket> <chdir>/home/project/luffy_api/</chdir> <module>luffy_api.wsgi</module> <processes>4</processes> <daemonize>uwsgi.log</daemonize> </uwsgi> # 也可以写另一种格式 ini: [uwsgi] socket = 0.0.0.0:8888 chdir = /home/project/luffy_api/ wsgi-file = luffy_api/wsgi.py module = luffy_api.wsgi processes = 4 daemonize = uwsgi.log # 配置nginx转发 cd /usr/local/nginx/conf vim nginx.conf # 新增的server server { listen 8080; server_name 127.0.0.1; charset utf-8; location / { include uwsgi_params; uwsgi_pass 127.0.0.1:8888; uwsgi_param UWSGI_SCRIPT luffy_api.wsgi; uwsgi_param UWSGI_CHDIR /home/project/luffy_api/; } } # 正常nginx 是转发http请求,但是咱们现在uwsgi启动是以socket启动的,所以uwsgi只能接收uwsgi协议的请求,不能接收http请求,所以nginx中这样配置,把本来http的请求通过nginx转成uwsgi_params---》转发给uwsgi # 重启nginx nginx -s reload

9.7 数据库创建用户

# 进入数据库 mysql -uroot -p Jgx12345? # 创建数据库 create database luffy default charset=utf8; # 设置权限账号密码:账号密码要与项目中配置的一致 grant all privileges on luffy.* to 'lqz'@'%' identified by 'Lqz12345?'; grant all privileges on luffy.* to 'lqz'@'localhost' identified by 'Lqz12345?'; flush privileges; # 退出mysql quit;

9.8 项目的数据库迁移

# 只有库,没有表,迁移数据 # 必须在luffy环境下 # 数据库迁移 cd /home/project/luffy_api/ python manage_pro.py migrate # 导入测试数据---》正式库不这样做 把原来本地的数据,导入到正式库中

9.9 启动uwsgi,重启nginx

#######虚拟环境也要装uwsgi,正式环境也要装 # 启动uwsgi uwsgi -x ./luffyapi.xml # 重启nginx nginx -s reload # redis要启动 # 还要启动celery的beat和work

9.10静态样式收集动静分离

# 项目目录下没有 static 文件夹需要新建 mkdir /home/project/luffy_api/luffy_api/static # 配置文件修改 # 修改static配置,新增STATIC_ROOT、STATICFILES_DIRS cd /home/project/luffy_api/luffy_api/setting vim pro.py STATIC_URL = '/static/' STATIC_ROOT = '/home/project/luffy_api/luffy_api/static' STATICFILES_DIRS = (os.path.join(BASE_DIR, "static"),) # 完成静态文件迁移 (luffy) [root@jgx luffy_api]# cd /home/project/luffy_api (luffy) [root@jgx luffy_api]# python /home/project/luffy_api/manage_pro.py collectstatic # nginx 做动静分离 # 新增的配置静态文件 vim /usr/local/nginx/conf/nginx.conf location /static { alias /home/project/luffy_api/luffy_api/static; } location /media { alias /home/project/luffy_api/luffy_api/media; } """ 代码位置: server { listen 8080; server_name 127.0.0.1; charset utf-8; location / { include uwsgi_params; uwsgi_pass 127.0.0.1:8888; uwsgi_param UWSGI_SCRIPT luffy_api.wsgi; uwsgi_param UWSGI_CHDIR /home/project/luffy_api/; } location /static { alias /home/project/luffy_api/luffy_api/static; } location /media { alias /home/project/luffy_api/luffy_api/media; } } """ # 重启nginx nginx -s reload



    你可能想看:

    扫描二维码推送至手机访问。

    版权声明:本文由皇冠云发布,如需转载请注明出处。

    本文链接:https://www.idchg.com/info/22945.html

    分享给朋友:

    “云服务器 安装 雷电 雷石云服务器安装” 的相关文章