Nginx项目部署笔记
实现步骤:
第一步:准备操作系统,安装必备的软件
第二步:配置nginx
第三步:部署Vue.js
第四步:部署Django项目
一、nginx安装
nginx: Linux packages
sudo yum install yum-utils
切换到/etc/yum.repos.d/nginx.repo 插入(如果没有nginx.repo 就 vim nginx.repo新建一个)
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true[nginx-mainline]
name=nginx mainline repo
baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
gpgcheck=1
enabled=0
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
配置
sudo yum-config-manager --enable nginx-mainline
安装
sudo yum install nginx
执行
nginx
可以使用ps命令看有没有启动
ps -ef | grep nginx
二、使用WinSCP上传前端项目
将Vue项目api地址(原:localhost:8080/api => 将localhost:8080去掉)
将vue项目 构建执行 npm run bulid ,把打包好的文件压缩成zip文件
在服务器端新建文件夹用于存放项目
使用WinSCP将前端项目上传到服务器文件夹中
使用unzip将文件解压(未安装unzip 可使用 yum install unzip安装)
按pwd获取当前目录并复制 /mnt/www/trip-mobile/dist
去nginx配置文件 cd /etc/nginx/conf.d 编辑里面的default.conf文件,root处改为刚才复制的路径,然后重启nginx配置生效
nginx -s reload
三、安装mysql
MySQL :: MySQL 8.0 Reference Manual :: 2.5.1 Installing MySQL on Linux Using the MySQL Yum Repository
wget https://dev.mysql.com/get/mysql80-community-release-el7-7.noarch.rpm
然后使用yum进行安装
yum install mysql80-community-release-el7-7.noarch.rpm
执行看有没有相关版本
yum repolist enabled | grep "mysql.*-community.*"
执行安装
sudo yum install mysql-community-server
执行启动mysql服务
systemctl start mysqld
查看mysql状态
systemctl status mysqld
找到初始用户密码,复制下来
sudo grep 'temporary password' /var/log/mysqld.log
登录root账户
mysql -uroot -p
修改新的密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';
看一下现在有哪些数据库
show databases
添加远程访问权限
select user,host from mysql.user;update mysql.user set host = '%' where user = 'root';flush privileges; //刷新数据库
使用navcat远程连接
防火墙配置
# 开启
service firewalld start
# 重启
service firewalld restart
# 关闭
service firewalld stop
# 查看端口是否开放
firewall-cmd --query-port=3306/tcp
# 开放3306端口
firewall-cmd --permanent --add-port=3306/tcp
# 移除3306端口
firewall-cmd --permanent --remove-port=3306/tcp
# 重启防火墙 (修改后要重启生效)
firewall-cmd --reload
四、安装redis和python
4.1 redis
Download | Redis
下载
wget https://download.redis.io/releases/redis-5.0.14.tar.gz
解压
tar -zxvf redis-5.0.14.tar.gz
进入 redis-5.0.14文件夹
cd redis-5.0.14
编译安装需要安装gcc
yum install gcc gcc-c++
进行编译
make
进行安装
make install
启动redis服务
cd src./redis-server
修改redis设置,将 daemonize 改为yes 使其长期启动
cd ..
vim redis.conf
4.2 安装python3
CNPM Binaries Mirror
下载
wget https://registry.npmmirror.com/-/binary/python/3.8.6/Python-3.8.6.tgz
解压
tar -zxvf Python-3.8.6.tgz
进入目录
cd Python-3.8.6
执行文件检测(绿色的可以直接执行)(执行前提是安装了gcc)
sh configure
安装python需要的软件包依赖
yum install zlib zlib-devel openssl openssl-develyum install glib2-devel openssl-devel pcre-devel bzip2-devel gzip-develyum install libffi-devel -yyum install zlib zlib-develyum install libjpeg libjpeg-develyum install freetype freetype-devel
新建装python3的文件夹
mkdir /usr/local/python3
安装完重新
./configure prefix=/usr/local/python3
编译python源代码
make
安装python
make install
由于CentOs自带python2所以pip并不能用,需要更改软连接使得python指向python3,同时设置python2指向python2.7
将python的软链接指向python3
ln -s /usr/local/python3/bin/python3.8.6 /usr/bin/python
由于yum不支持python3,只有用python2才能正常运行,因此需要修改yum的相应配置,使其默认的指向改为python2.7版本,
将#! /usr/bin/python修改为#! /usr/bin/python2;
vim /usr/libexec/urlgrabber-ext-downvim /usr/bin/yum
五、上传Django后端项目
打开django项目,通过pip freeze > requirements.txt 将相关依赖提取出来
打开WinSCP,将项目上传到nmt/www目录下
安装mysql-devel
yum install mysql-devel
安装python-devel
yum install python-devel
到Django项目上传目录
cd /mnt/www/trip1019cat requirement.txt
安装所需依赖
pip install -r requirements.txt
修改django下的settings.py文件 修改一下数据库的密码,改成linux中的密码
使用navicat 创建数据库trip
linux中执行,注意不要执行python manage.py makemigrations 因为做项目中时已经执行
python manage.py checkpython manage.py migrate
安装uWSGI
Quickstart for Python/WSGI applications — uWSGI 2.0 documentation
pip install uwsgi
uwsgi配置
[uwsgi]
socket = 127.0.0.1:9090 # Django项目运行的地方
master = 1
processes =1
pidfile = /var/run/trip1019.pid
daemonize = /var/log/uwsgi/trip1019.log
module = trip1019.wsgi:application
chdir = /mnt/www/trip1019
listen = 100
buffer-size = 32768
max-requests = 200
新建 trip1019.ini 将配置文件中内容复制进去
cd /mnt/wwwvim trip1019.inimkdir -p /var/log/uwsgi/uwsgi --ini trip1019.ini
查看进程有没有成功
ps -ef | grep uwsgi
重启uwsgi
kill -HUP 6431
进入到nginx文件夹将default.conf文件复制一份命名为django.conf
cd /etc/nginx/cd conf.dcp default.conf django.confvim django.conf
把django.conf 中location中修改为
执行
nginx -t
重启nginx
nginx -s reload
进入到django项目的settings.py中
cd /mnt/www/trip1019/trip1019vim settings.py
在 ALLOWED_HOSTS = [] 中添加公网ip地址和 127.0.0.1
重启uwsgi
kill -HUP 6431
在阿里云防火墙中添加8000端口规则
进入到nginx配置,在里面添加location反向代理
cd /etc/nginx/conf.dvim default.conf
执行
nginx -t
重启nginx
nginx -s reload
nginx反向代理
location ^~/api/{proxy_pass http://127.0.0.1:8000/;add_header X-Slave $upstream_addr;proxy_redirect off;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
重启nginx
nginx -s reload
数据库中要填充数据
把前端static中的图片复制到Django项目中,并把Django项目中settings.py中 MEDIA_URL =[],中添加公网的ip
Nginx项目部署笔记相关推荐
- Django+Linux+Uwsgi+Nginx项目部署文档
Django+Linux+Uwsgi+Nginx项目部署文档 WSGI 在生产环境中使用WSGI作为python web的服务器 WSGI:全拼为Python Web服务器网关接口,Python We ...
- 瞬间心情愉悦,头发都少掉了几根!---Django+uwsgi+Nginx项目部署超详细步骤
文章目录 瞬间心情愉悦,头发都少掉了几根!---Django+uwsgi+Nginx项目部署超详细步骤 先决条件 步骤 本地运行测试 上传服务器 环境安装 准备django程序 完美解决! 瞬间心情愉 ...
- Nginx 项目部署和配置
nginx 作为代理服务器,需要代理多个项目的话配置如下: [plain] view plaincopyprint? server { listen 80; server_name lo ...
- Nginx项目部署:新域名、二级目录、不同端口
Vue项目打包以及单域名部署:https://blog.csdn.net/geidongdong/article/details/122305841 简单介绍如何使用二级目录部署新项目 进入你ngin ...
- nginx(项目部署)linux版
linux下安装tomcat 下载链接:https://tomcat.apache.org/download-80.cgi 将下载好的tomcat 放到 /usr/local 目录下 (nginx的安 ...
- Linux nginx 项目部署
nginx 安装 进入 etc/nginx 目录下安装(没有新建) yum install nginx nginx启动 安装目录下 配置 nginx.conf cd /etc/nginx vim ng ...
- Linux上搭建SpringBoot项目部署环境和流程分享
Linux上搭建SpringBoot项目部署环境和流程分享 背景介绍 环境搭建 1.JDK 2.Mysql 数据库 3.Redis 4.Nginx 项目部署 总结 背景介绍 最近在开发一个 Sprin ...
- 王者荣耀全栈项目部署到阿里云服务器笔记
王者荣耀全栈项目部署到阿里云服务器笔记 原创Charles_GX 最后发布于2020-03-27 01:27:00 阅读数 177 收藏 展开 王者荣耀全栈项目部署到阿里云服务器笔记 学习的项目来自 ...
- 阿里云ECS服务器购买及配置,SpringBoot项目部署到阿里云ECS服务器,阿里云ECS服务器安装JDK、Mysql、nginx详细步骤
1.购买阿里云ECS服务器 官网:阿里云-上云就上阿里云 根据自己的需要选择相应的配置: 目前有一个月的服务器免费体验时间,我选择了免费体验,点击后,可以看到你刚才购买的服务器: 也可以通过这里查看你 ...
最新文章
- ORACLE 中为什么要把列名都转换成大写字母?
- Java String,StringBuilder和StringBuffer的区别 StringBuilder StringBuffer String
- MySQL修改用户(RENAME USER)
- 自从装了windows神器,再也不用羡慕mac了
- CCD与CMOS摄像头的区别
- Ubuntu设置root登录
- Win7系统桌面壁纸换不了怎么办
- linux shell中获取mongodb最大连接数、内存使用情况等
- 2018 年力扣高频算法面试题汇总-难题记录-鸡蛋掉落
- keystone环境搭建(源码方式+yum方式)(ocata版本)
- UDS协议之诊断会话管理服务 0x10
- ie加载项存在残留是什么_残余IE加载项无法修复
- 智能家居小知识普及篇——智能家居技术有哪些劣势
- java.sql.SQLException: Incorrect string value: ‘\xE6\xB5\x8B\xE8\xAF\x95...‘ for column ‘xxx‘
- 2016 威斯康星 计算机科学,威斯康星麦迪逊大学计算机科学本科申请条件及案例分析...
- 英特尔第十代处理器为什么不支持win7_Intel的7代酷睿CPU可以安装Win7系统吗?能不能完美支持呢?为什么有人说不能使用Win7系统...
- BGA焊接可靠性评价指引,为产品质量保驾护航
- 在ICT圈子找非研发工作
- Ubuntu PPPoE拨号上网
- 洛谷 P5717 【深基3.习8】三角形分类