安装 ngxin
# 使用 yum 安装
sudo yum install nginx
配置 nginx
# 编辑配置文件
vi /etc/nginx/nginx.conf
# 配置文件信息如下
user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /var/run/nginx.pid;
http {
server {
listen 80;
# listen [::]:80 default_server;
server_name www.domain1.com domain1.com;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $http_host;
proxy_pass http://127.0.0.1:3000;
}
}
server {
listen 80;
#listen [::]:80 default_server;
server_name www.domain2.com domain2.com;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $http_host;
proxy_pass http://127.0.0.1:4000;
}
}
}
# 对上面配置信息作解释。配置文件中不仅仅有这些项,这里只列出了主要的部分
server {
listen 80; # 这里表示监听的默认 80端口,也可以为 443 等
# listen [::]:80 default_server; # 这里是 ipv6 的 80 端口,可注释
# 这里表示监听的域名,此处写两个,一个是 www 服务的,还有一个是不带 www 服务的,中间用空格隔开
server_name www.domain1.com domain1.com;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $http_host;
proxy_pass http://127.0.0.1:3000 # 这里填写代理的端口
}
}
# 上面表示当访问域名为 www.domain1.com 或 domain.com时,自动转到 3000 端口,这样就可以实现 80 端口复用了
# 如果想要配置多个域名,把 server 部分复制,修改配置选项为新的域名和端口号即可,注意多个 server 是并列,都在 http 内部
nginx 后续处理
// 启动 nginx,输入下面命令即可
$ nginx
// 启动出错处理
[error] open() "/var/run/nginx.pid" failed (2: No such file or directory)
// 编辑nginx.conf
vi /etc/nginx/nginx.conf
// 将文件中的pid修改为
pid /var/run/nginx.pid;
// 新建nginx.pid文件
cd /var/run
touch nginx.pid
// 重启服务即可
nginx -s reload
// 打开端口,在服务器下端口是默认不允许外部访问的,需要修改防火墙开启端口
// xxx 即为想要开启的端口
firewall-cmd --zone=public --add-port=xxx/tcp --permanent
// 开启完成后,重启防火墙即可
firewall-cmd --reload