Nginx服务器安装和配置
文章目录
服务器环境介绍:阿里云ECS云服务器
服务器系统:Ubuntu
服务器环境:nodejs+MongoDB
服务器连接工具:Xshell
文件上传工具:Git(我主要使用这个),也可以使用Xftp
代码托管:码云
使用Xshell连接服务器安装Nginx
查找nginx服务器安装包,查找之前可以先使用apt update
更新一下ubuntu系统,然后使用apt show nginx
查找nginx安装包,查找到之后使用apt install -y nginx
安装
注:Ubuntu中德命令是使用apt,类似于我们本地使用的npm
在nginx安装完成之后就可以打开你的域名或者IP地址访问你们的服务器了,只不过显示的页面是一个nginx的默认页面。
关于apt跟多命令大家可以查看https://yq.aliyun.com/articles/240538?spm=5176.10695662.1996646101.searchclickresult.c3431102gO2K87
MongoDB数据库的安装和配置
使用apt show mongodb-server
查看MongoDB是服务器端数据库
使用apt install -y mongodb-server
命令安装MongoDB数据库
可以执行MongoDB服务器客户端命令mongo
进入数据库,就可以执行任何数据库的命令
执行show dbs
检查数据库是否安装成功
git 安装、配置ssh-key
使用apt install -y git
命令安装git
使用命令git
检查git是否安装成功
使用ssh-keygen
命令,一路回车生成ssh-key密钥
使用cat root/.ssh/id_rsa.pub
命令查看公钥内容,并在git服务器上进行配置。
Node.js 安装、配置淘宝镜像
使用apt install -y nodejs
安装Nodejs
安装完成之后使用node -v
查看node的版本,可以看出版本号为8.10.0
使用apt install -y npm
安装npm包管理工具
使用npm -v
查看npm版本
使用npm i -g nrm
管理npm镜像地址,可使用npm use taobao
切换至淘宝镜像,也可以使用npm use npm
切换至国外的npm镜像
由于node版本及npm版本比较低,我们可以使用npm i -g n
命令安装升级nodejs的管理工具,是用n
命令查看都支持那些命令,我们可以选择n latest
命令升级到最新版本。
拉取代码,安装pm2并启动项目
在github或者码云上新建服务端程序仓库,将本地打包好的程序上传程序仓库
配置代码仓库的公钥为服务器端生成的公钥,然后就可以通过服务器的Git命令从码云或者GitHub拉去程序,每次修改都应该上传程序仓库,并在服务器端拉取。
具体过程可参考https://gitee.com/help/articles/4181
可以在服务器端通过mkdir 文件夹名称
新建一个文件夹,用来存放我们的站点程序(例如:website),进入到该站点里面直接通过git将码云上的程序克隆至服务器。
我们可以cd进项目文件夹之后可以看到新建码云仓库时默认生成的.gitignore文件
注:.gitignore文件是一个Git的忽略文件的配置文件,所有从码云clone过来的项目应该执行npm i
安装项目依赖
以后我们可以使用VScode的微软的Remote-SSH
插件请求,修改服务器上的文件,同时通过这个插件VScode也可以担当git拉取文件的工具。
服务器安装pm2,相当于本地的服务器启动工具。
使用npm i -g pm2
命令全局安装pm2包,用于启动服务器端的node服务器
进入相对应的项目服务器文件夹下,使用pm2 start index.js
启动服务器
使用pm2 list
可以查看当前有多少个进程正在运行
使用pm2 logs index
查看运行的进程的logs,此处查看到的地址相当于在服务器本地访问,外网是不能访问的,因此我们需要进行Nginx的反向代理配置。
配置 Nginx 的反向代理
Nginx的反向代理配置建议使用https://www.digitalocean.com/community/tools/nginx进行配置文件的生成。
在VScode中安装Remote - SSH插件,然后连接服务器。打开服务器端Nginx配置文件的路径:/etc/nginx
使用NGINX Config生成配置文件下载配置好的文件包,将下载的文件包解压后将所有文件及文件夹复制到配置文件夹的路径下。
配置完成后使用service nginx reload
重载nginx服务器配置,然后通过pm2 start index.js
重新启动服务器,至此服务器已经就完全部署好了。
服务器端文件每次修改之后需使用pm2 reload index
后面的index指的是使用pm2 list
查询出来的进程name,该操作完成的是服务器的重新启动/重载。
迁移本地数据到服务器 (mongodump)
在项目根目录下通过mongodump - d 数据库名称
导出数据库数据,将到处的数据库数据上传至服务器根文件的root文件夹下,然后进入root文件夹通过mongorestore
恢复数据。
如果数据有问题,可以通过Robo 3T数据库可视化软件,进行数据修改,主要是检查上传的图片地址对不对。
注:在Robo 3T数据库中也可以使用js的一些数组方法。例如forEach、map等
常用Linux命令
-
进入目录:cd 目录名
-
回到上一级:cd …
-
新建文件夹:mkdir 文件夹名称
-
重命名文件夹:mv 文件夹名称 新的文件夹名称
-
查看软件包信息:dpkg -L 软件包名
-
查看软件包安装位置:whereis 软件名
-
删除文件夹直接rm就可以了,不过要加两个参数-rf 即:rm -rf 目录名字
-r 就是向下递归,不管有多少级目录,一并删除
-f 就是直接强行删除,不作任何提示的意思
kg -L 软件包名 -
查看软件包安装位置:whereis 软件名
-
删除文件夹直接rm就可以了,不过要加两个参数-rf 即:rm -rf 目录名字
-r 就是向下递归,不管有多少级目录,一并删除
-f 就是直接强行删除,不作任何提示的意思 -
地址请求:curl URL地址