今天给新买的云服务器安装Nginx,用于部署自己的测试项目和博客,之前域名一直只绑定了一个端口用来跑博客项目,现在希望把后台接口也通过域名方式来访问,为此开始了一次Nginx的配置之旅。
一、安装Nginx
安装Nginx相对来说是非常简单的,运行下面两条命令即可。
sudo yum install epel-release
sudo yum install nginx
安装成功后,设置开机启动。
sudo systemctl enable nginx
启动nginx,访问80端口,发现已经启动成功了。
sudo systemcyl start nginx
二、配置Nginx
2.1 nginx.conf
接下来,我们进入nginx目录下,找到nginx.conf文件开始配置;这里我把nginx.conf文件中的server配置统统删除了,以后我们再配置新的server,只需要再conf.d文件夹中创建新的*.conf即可。
cd /etc/nginx
vim nginx.conf
配置如下:
# For more information on configuration, see:
# * Official English Documentation: http://nginx.org/en/docs/
# * Official Russian Documentation: http://nginx.org/ru/docs/
user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;
include /usr/share/nginx/modules/*.conf;
events {
worker_connections 1024;
}
http {
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
include /etc/nginx/mime.types;
default_type application/octet-stream;
include /etc/nginx/conf.d/*.conf; # 统一管理新增server配置等
}
2.2 main.conf
接下来,我们需要配置一个server用于端口服务的反向代理,进入conf.d
文件夹新建一个main.conf。
cd /etc/nginx/conf.d
touch main.conf
配置main.conf如下:
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name jotyy.top;
location / {
proxy_pass http://127.0.0.1:8999; #端口1:用于博客主站访问
proxy_read_timeout 300;
proxy_connect_timeout 300;
proxy_redirect off;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
}
location /api/ {
proxy_pass http://127.0.0.1:8666/; #端口2:用于接口访问,这里一定要带上末尾的'/'
proxy_read_timeout 300;
proxy_connect_timeout 300;
proxy_redirect off;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}
接下来,我们通过http://jotyy.top/api/就可以访问到接口啦。