Nginx部署项目以及反向代理
服务器安装Nginx
- Ubuntu
sudo apt install nginx
- CentOS
sudo yum install -y nginx
创建项目目录
目录可以根据实际情况创建,比如在根目录下创建/www/nginx。
mkdir /www
cd /www && mkdir nginx
部署项目
-
在/etc/nginx找到nginx.conf配置文件,(根据安装nginx服务器的方式有所不同,比如使用宝塔面板一键式安装,配置文件在/www/server/nginx/conf下)。
cd /etc/nginx && ls
-
编辑nginx.conf,命令行使用sudo vim nginx.conf。(图形化界面可使用gedit命令,宝塔面板可直接双击文件打开编辑)
sudo vim nginx.conf- 找到http{}所在位置。
- 在http{}内添加server{},配置如下:
```
#配置服务监听
server{
listen 8000; #监听端口
server_name localhost; #域名或者Ip地址
#部署项目
location / {
index index.html; #访问域名默认界面
root /www/nginx/dist; #项目所在位置
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
```
3. 保存配置文件后退出,重启nginx服务器
```
sudo nginx -s reload && service nginx restart
```
4. 使用域名+端口号进行访问项目,如:http://localhost:8000。
反向代理访问项目
部署项目的时候,通常不会将端口号暴露给用户,而Nginx默认监听端口为80,这是一个公开的端口号,故我们需要通过80端口的访问反向代理到本地服务器的端口,从而保证服务器的安全。
-
同样对nginx.conf配置文件进行配置,添加一个监听80的server{},配置如下:
server { listen 80; #监听80端口 server_name guide.oldblack.com.cn; #服务器绑定的域名或者Ip地址 location / { proxy_pass http://127.0.0.1:8000; #反向代理到本地的8000端口 index index.html index.htm; } }如果有多个nginx服务器(可以是其他的,如tomcat),可以对监听80端口的nginx服务器A配置以上内容,部署项目的服务器B为本地服务器,通过A的反向代理将监听转交给B。
-
保存配置文件后退出,重启nginx服务器。
sudo nginx -s reload && service nginx restart -
通过域名guide.oldblack.com.cn访问项目