部署项目到Nginx

     阅读:47

nginx安装

pcre、pcre-devel安装

​ pcre是一个perl库,包括perl兼容的正则表达式库,nginx的http模块使用pcre来解析正则表达式,所以需要安装pcre库。

安装命令:

yum install -y pcre pcre-devel

安装openssl

​ openssl是web安全通信的基石,没有openssl,可以说我们的信息都是在裸奔。

安装命令:

yum install -y openssl openssl-devel

下载nginx安装包

wget http://nginx.org/download/nginx-1.9.9.tar.gz  

解压压缩包

tar -zxvf  nginx-1.9.9.tar.gz

进入nginx解压目录,执行命令

./configure
 
make
 
make install

切换到/usr/local/nginx安装目录
image.png
进入nginx/conf,配置nginx.conf
image.png
启动nginx

进入sbin目录
./nginx

查看是否启动成功

ps -ef|grep nginx

此时访问公网ip会显示nginx欢迎界面

uwsgi配置

在Django根目录下新建uwsgi.ini uwsgi.pid uwsgi.log文件
编辑uwsgi.ini文件

[uwsgi]
#使用nginx连接时使用
socket=127.0.0.1:8001
#直接做web服务器使用 python manage.py runserver ip:port
#http=127.0.0.1:8080
#项目目录
chdir=/var/web/CloudArchives
#项目中wsgi.py文件的目录,相对于项目目录
wsgi-file=CloudArchives/wsgi.py
#指定启动的工作进程数
processes=4
#指定工作进程中的线程数
threads=2
master=True
#保存启动之后主进程的pid
pidfile=uwsgi.pid
#设置uwsgi后台运行,uwsgi.log保存日志信息
daemonize=uwsgi.log
#设置虚拟环境的路径
#virtualenv=/Users/smart/.virtualenvs/dailyfresh

运行django项目

django manage.py runserver

给wusgi建立软连接

 ln -s /usr/local/python3/bin/uwsgi /usr/bin/uwsgi

进入项目根目录,启动uwsgi

uwsgi --ini uwsgi.ini

image.png
重启Nginx

./nginx -s reload

image.png

前端

下载nodejs压缩包

用命令行形式进行下载

wget https://nodejs.org/dist/v14.15.4/node-v14.15.4-linux-x64.tar.xz

image.png

解压缩

tar -xvf node-v14.15.4-linux-x64.tar.xz
mkdir -p /usr/local/nodejs
mv node-v14.15.4-linux-x64/* /usr/local/nodejs/

创建软链接

# 建立node软链接
ln -s /usr/local/nodejs/bin/node /usr/local/bin
# 建立npm 软链接
ln -s /usr/local/nodejs/bin/npm /usr/local/bin

更换镜像源

# 设置国内淘宝镜像源
npm config set registry https://registry.npm.taobao.org
# 查看设置信息
npm config list

image.png

验证是否安装成功

node -v
npm -v

image.png

前端打包项目

npm run build (打包项目)

将前端project执行npm run build命令。执行完的dist文件夹才几MB。
image.png

前端项目部署

将dist文件夹上传到服务器

可以上传到服务器随便一个地方,我是/usr/share/nginx/,就是nginx默认开启页面的隔壁。
image.png

修改nginx的配置文件

vim /etc/nginx/nginx.conf,然后把dist文件夹引进来
image.png

重启nginx服务。

执行:

service nginx restart

或者:

cd /usr/local/nginx/sbin/
./nginx -s reload

外链图片转存中…(img-smytlZu0-1639972457784)]

重启nginx服务。

执行:

service nginx restart

或者:

cd /usr/local/nginx/sbin/
./nginx -s reload

浏览器访问ip访问即可