1、单网站部署到云服务器上
单网站部署到云服务器上,可以不依赖Nginx,直接将代码文件传到云服务器上,连接云服务器,进入相应项目执行就可以了。如果需要在后台一直挂起,可以使用pm2管理工具。
2、多网站部署到云服务器上
多网站部署到云服务器上,就需要Nginx反向代理,并需要处理静态文件。这里描述的是python项目的部署,前置条件是Nginx已经安装完成。
(-)上传代码。如果想要云上的代码和本地代码同步,则可以依赖git,可以将自己的代码传到github上面,然后云上面clone下来。
(二)进入到云服务器上面的Nginx目录,打开Nginx.conf
Mac 地址:
/etc/nginx/
windows 地址
/usr/local/etc/nginx
(三)打开Nginx.conf
vim nginx.conf
server {
# 监听80端口号
listen 80;
# 监听访问的域名
server_name a.com;
# 根据访问路径配置
location /{
# 把请求转发到 https://www.baidu.com
proxy_pass https://www.baidu.com;
}
}
比如我这边有两个网站,一个是8000端口,一个8001端口
则在配置的时候,则是
server {
# 监听80端口号
listen 80;
# 监听访问的域名
server_name a.com;
# 根据访问路径配置
location /{
# 把请求转发到 https://www.baidu.com
proxy_pass https://www.baidu.com:8000;
}
location /xxx {
proxy_pass https://www.baidu.com:8001
}
}
当访问的是https://www.baidu.com
的时候,则表示访问的是https://www.baidu.com:8000
,如果访问的是https://www.baidu.com/xxx
则表示访问的是https://www.baidu.com:8001
这个时候运行项目,肯定会出现静态资源找不到。这边使用的是flask+jinjia2来访问静态资源的,静态资源都在static
里面。
在写python项目,初始化app的时候,要这么写
app = Flask(name,static_url_path='/movieStatic')
//static_url_path是指定访问static
里面文件的时候,原先路劲是xxx/static/xxx.js,现在为xxx/movieStatic/xxx.js
这样才好在Nginx里面配置
location ^~ /movieStatic/ {
proxy_pass http://xxxx:8001/movieStatic/;
}
3、H5项目部署到云服务器上
H5项目放到云服务器上,怎么去访问index.htnl文件呢。
将代码传到云服务器上,我这边的代码目录为/hzh/html/
html文件夹下面就是H5d代码文件。
在配置Nginx的时候,同样是打开Nginx.conf文件,写上
location / {
root /hzh/html;
index index.html index.htm;
}
若不想直接域名访问,想在域名后面拼接一个地址访问,比如xxx.com/html访问到index.html
这样就需要这么配置
location /html{
alias /hzh/html;
index index.html index.htm;
}
这个时候访问有可能会出现js,css文件找不到,这就需要重新打包H5文件,在打包前需要配置H5的publicPath
为/html
网友评论