部署到服务器--Nginx

简介: Nginx

部署到服务器--Nginx

序:

  1. http服务器。Nginx是一个http服务可以独立提供http服务。可以做网页静态服务器。
  2. 虚拟主机。可以实现在一台服务器虚拟出多个网站。例如个人网站使用的虚拟主机。
  3. 反向代理,负载均衡。当网站的访问量达到一定程度后,单台服务器不能满足用户的请求时,需要用多台服务器集群可以使用nginx做反向代理。并且多台服务器可以平均分担负载,不会因为某台服务器负载高宕机而某台服务器闲置的情况。

一、Nginx

img

1、pcre、pcre-devel安装

pcre是一个perl库,包括perl兼容的正则表达式库,nginx的http模块使用pcre来解析正则表达式。

yum install -y pcre pcre-devel

2、安装openssl

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

yum install -y openssl openssl-devel

3、下载并解压nginx安装包

// 下载
wget http://nginx.org/download/nginx-1.9.9.tar.gz 
//解压
tar -zxvf  nginx-1.9.9.tar.gz

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

./configure 
make
make install

4.1、切换到/usr/local/nginx安装目录

在这里插入图片描述

4.2、进入nginx/conf,配置nginx.conf

在这里插入图片描述

4.3、启动nginx

进入sbin目录
./nginx

附:查看是否启动成功

ps -ef|grep nginx

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

5、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

5.1、运行django项目

django manage.py runserver

5.2、给uwsgi建立软连接

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

6、进入项目根目录,启动uwsgi

uwsgi --ini uwsgi.ini

img

重启Nginx

./nginx -s reload

在这里插入图片描述

附:nginx常用命令

启动:start nginx 默认是根据nginx.conf来启动的

如果要指定配置文件来启动则使用以下命令即可:nginx -c ./conf/jason.conf

关闭:nginx -s stop 快速关闭nginx服务。

nginx -s quit 优雅的关闭,优雅是指当一个请求被处理完成之后才被关闭。

在linux下进行关闭nginx:

1、优雅关闭
先找出nginx的进程号:`ps -ef|grep nginx
执行命令:kill -QUIT pid
2、快速关闭
也是要先找出nginx的进程号,然后执行kill -TERM pid

nginx -t 检查配置是否有错误

nginx -s reload 刷新nginx配置文件

二、前端

1、下载nodejs压缩包

用命令行形式进行下载

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

img

解压缩包

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/

2、创建软链接

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

3、更换镜像源

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

image.png

附:验证是否安装成功

node -v
npm -v

image.png

4、前端打包项目

npm run build (打包项目)

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

img

5、前端项目部署

将dist文件夹上传到服务器

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

image.png

6、修改nginx的配置文件

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

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-G7k3sydC-1645813011893)(C:\Users\huawei\AppData\Roaming\Typora\typora-user-images\image-20220226015104585.png)]

7、重启nginx服务。

service nginx restart
// 或
cd /usr/local/nginx/sbin/
./nginx -s reload

浏览器访问ip访问即可
(使用软件MobaXterm_Personal_12.3)

目录
相关文章
|
20天前
|
监控 安全 Linux
RHEL 环境下 Subversion 服务器部署与配置
【10月更文挑战第18天】在RHEL环境下部署Subversion服务器需依次完成安装Subversion、创建版本库、配置服务器、启动服务、客户端连接及备份维护等步骤。确保遵循安全最佳实践,保障数据安全。
|
1天前
|
弹性计算 监控 负载均衡
|
2天前
|
PHP 数据库 数据安全/隐私保护
布谷直播源码部署服务器关于数据库配置的详细说明
布谷直播系统源码搭建部署时数据库配置明细!
|
11天前
|
关系型数据库 MySQL Linux
基于阿里云服务器Linux系统安装Docker完整图文教程(附部署开源项目)
基于阿里云服务器Linux系统安装Docker完整图文教程(附部署开源项目)
115 2
|
11天前
|
NoSQL Linux PHP
|
12天前
|
弹性计算 数据库连接 Nacos
阿里云ECS服务器在docker中部署nacos
docker pull nacos 失败,docker部署nacos遇到的问题,nacos数据库连接,nacos端口映射
63 1
|
17天前
|
监控 网络安全 调度
Quartz.Net整合NetCore3.1,部署到IIS服务器上后台定时Job不被调度的解决方案
解决Quartz.NET在.NET Core 3.1应用中部署到IIS服务器上不被调度的问题,通常需要综合考虑应用配置、IIS设置、日志分析等多个方面。采用上述策略,结合细致的测试和监控,可以有效地提高定时任务的稳定性和可靠性。在实施任何更改后,务必进行充分的测试,以验证问题是否得到解决,并监控生产环境的表现,确保长期稳定性。
30 1
|
关系型数据库 MySQL 应用服务中间件
|
Web App开发 应用服务中间件 nginx
saltstack批量部署并配置nginx
最近应别的部门要求研究了一下saltstack,感觉很好用哈!虽然我现在生产环境用的puppet,想以后逐渐用这个去替代puppet,至于ansible还没研究,以后有时间再看看吧! 一、Saltstack是什么? saltstack是一种全新的基础设施管理方式,部署轻松,在几分钟内可运行起来,扩展性好,很容易管理上万台服务器,速度够快,服务器之间秒级通讯。
1840 0
|
11天前
|
应用服务中间件 BI nginx
Nginx的location配置详解
【10月更文挑战第16天】Nginx的location配置详解