服务器部署前端项目
安装 Nginx
- 购买云服务器ECS 首先,我们需要登录阿里云或腾讯云官网,进行云服务器ECS的选购。
在购买过程中,我们需要选择操作系统,建议选择Linux操作系统,如CentOS、Ubantu等。
此外,还需要选择地域、实例规格、配置网络等,根据实际需求进行选择。
登录服务器 购买成功后,可以通过远程连接工具(如 Xshell)连接到刚刚购买的云服务器ECS。
安装nginx 在登录到服务器后,首先需要安装 nginx。根据操作系统的不同,安装方法也略有不同。
这里以CentOS为例:
sudo yum install nginx
安装完 nginx 后,可以通过以下命令验证 nginx 是否已经正确安装:
nginx -v
如果能够显示 nginx 的版本信息,则说明已经安装成功。
可以使用下面的的命令启动 nginx 的服务。
service nginx start
此时访问服务器的公网 IP 就可以看到 nginx 的默认页面。
配置 nginx
在安装完 nginx 后,还需要进行一些配置。
- 修改配置文件
nginx 的配置文件通常位于 /etc/nginx
目录下,文件名为 nginx.conf
。可以使用 Xftp 打开该文件进行编辑。根据自己的需求,对配置文件进行相应的修改。
自定义的配置文件放在/etc/nginx/nginx.conf(配置vue项目的地方)
项目文件存放在/usr/share/nginx/任意项目名/ (存放vue项目的地方)
日志文件存放在/var/log/nginx/
还有一些其他的安装文件都在/etc/nginx
以下是常见的配置项:
user nginx;:指定NGINX进程的运行用户。在这个例子中,NGINX将以nginx用户的身份运行。
worker_processes auto;:指定NGINX启动的工作进程数。auto表示根据系统的CPU核心数自动确定进程数。
error_log /var/log/nginx/error.log;:指定NGINX错误日志的路径和文件名。
pid /run/nginx.pid;:指定NGINX进程ID文件的路径和文件名。
include /usr/share/nginx/modules/*.conf;:加载动态模块的配置文件。
events { ... }:定义NGINX的事件模块配置。在这个例子中,设置了最大的并发连接数为1024。
http { ... }:定义NGINX的HTTP模块配置。
log_format main ...:定义了日志格式,其中包含了请求的各种信息,如远程地址、请求时间、请求内容等。
access_log /var/log/nginx/access.log main;:指定访问日志的路径和文件名,并使用上面定义的main格式进行记录。
sendfile on;:启用文件传输优化,提高文件传输效率。
tcp_nopush on;:启用TCP nopush模式,减少网络传输延迟。
tcp_nodelay on;:启用TCP nodelay模式,减少网络传输延迟。
keepalive_timeout 65;:设置HTTP keep-alive连接的超时时间。
types_hash_max_size 2048;:设置MIME类型哈希表的最大大小。
include /etc/nginx/mime.types;:加载MIME类型配置文件。
default_type application/octet-stream;:设置默认的MIME类型。
include /etc/nginx/conf.d/*.conf;:从/etc/nginx/conf.d目录中加载模块化的配置文件。
server { ... }:定义一个服务器块,用于处理特定的监听端口和域名。
listen 7890;:监听的端口号。
server_name _;:指定服务器的名称,这里使用下划线表示匹配任意域名。
root /usr/share/nginx/terminal-index;:指定服务器的根目录。
include /etc/nginx/default.d/*.conf;:加载默认服务器块的配置文件。
location / { ... }:处理根路径的请求。
error_page 404 /404.html;:指定404错误页面的路径。
location = /40x.html { ... }:处理特定的错误页面。
error_page 500 502 503 504 /50x.html;:指定500、502、503和504错误页面的路径。
location = /50x.html { ... }:# 处理特定的错误页面。
- 配置虚拟主机 虚拟主机是指在一台服务器上运行多个网站,每个网站有独立的域名和内容。在 nginx 中,可以通过配置虚拟主机来实现这一功能。
在 nginx.conf
文件中,可以使用 server
块配置虚拟主机。每个 server
块包含一个域名和相应的配置。
例如,配置一个名为www.example.com的虚拟主机,可以添加以下代码:
server {
listen 端口;
server_name 访问域名;
location / {
root 线上静态路径; //示例 /usr/share/nginx/html
index index.html index.htm;
try_files $uri $uri/ /index.html; //解决子页面适配,刷新404问题
}
}
其中,listen
指定监听的端口,server_name
指定域名,root
指定网站的根目录,…
代表其他配置项。
然后将项目打包后生成的 dist 目录中的文件放到 root 指定的路径中。
如果配置文件后执行出错,可以使用 nginx -t
检查报错原因。
- 重启 nginx 在配置完 nginx 后,为了使配置生效,需要重启nginx。可以使用以下命令重启:
sudo service nginx restart
- 访问网站
在配置完 nginx 并重启后,还需要去对应服务器实例的防火墙查看是否放行了监听的端口。
之后就可以通过浏览器访问配置的网站,验证配置是否成功。
在浏览器地址栏中输入配置的域名,如果成功访问到网站的首页,则表明配置成功。
- 添加 SSL 证书
如果网站需要加入 SSL 证书,可以在 nginx 配置中添加以下代码:
listen 443 ssl http2 default_server;
server_name _;
root /usr/share/nginx/html;
ssl_certificate "/etc/pki/nginx/server.pem";
ssl_certificate_key "/etc/pki/nginx/private/server.key";
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 10m;
ssl_ciphers PROFILE=SYSTEM;
ssl_prefer_server_ciphers on;
然后将域名的证书添加到上方路径的文件夹中,重启 nginx 服务,就可以将网站的协议改为 https 了。