Nginx 简单来说就是一个反向代理软件,支持高并发连接,负载均衡,资源消耗少,稳定……
一、安装
这里介绍的是 CentOS 环境,步骤如下:
- 下载编译
- 配置文件
- 开机启动
- 检查服务
1.1 下载编译
从 Nginx 下载页面 获取指定版本的压缩包链接,通过 wget
命令下载下来:
sudo wget http://nginx.org/download/nginx-1.14.0.tar.gz
上面选的是当前稳定版本:
创建、拷贝、解压:
sudo mkdir /usr/local/nginx
sudo cp nginx-1.14.0.tar.gz /usr/local/nginx
cd /usr/local/nginx
tar xvzf nginx-1.14.0.tar.gz
可以参考 Centos7安装Nginx实战 中的【安装步骤】。
比如,你可以这样做:
sudo mkdir /var/run/nginx
cd nginx-1.14.0
./configure --prefix=/usr/local/nginx && make install
编译效果如图:
1.2 配置文件
编译完成后,编辑 ./conf/nginx.conf
文件,在 server
节点后面增加:
include /etc/nginx/conf.d/*.conf;
如图所示:
接着在 /etc/nginx/conf.d
目录下创建对应的配置文件,比如:
sudo touch game.conf
编辑 game.conf
配置文件,添加如下内容:
upstream game {
server 127.0.0.1:9000;
}
server {
listen 80;
server_name game.randall.top;
location / {
proxy_pass http://game;
}
}
还可以新建 smith.conf
配置文件:
注意:对应子域名映射到的具体端口,一定不能搞混了。
说一个额外内容:
如果你是用 apt
安装的 Nginx,那么这个内容已经写入配置文件,并且额外附带一个 sites-enabled
文件夹。
按照名称,在 sites-available
文件夹下放置可用的 Web 服务配置,然后在 sites-enabled
文件夹中使用 ln -s <name> /etc/nginx/sites/available/<name>
进行软链接,就是最好的配置方式。
1.3 开机启动
Nginx 应该做到 开机启动,相关内容参考这篇文章:基于CentOS 7配置Nginx自启动。
与文中不同是,我们的 nginx.service
文件是这样的:
[Unit]
Description=The NGINX HTTP and reverse proxy server
After=syslog.target network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStartPre=/usr/local/nginx/sbin/nginx -t
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target
其他步骤则基本一致,此处就不画蛇添足了。
1.4 检查服务
启动 Nginx 后,可以用 Chrome 浏览器打开 game.randall.top
和 smith.randall.top
试试:
这是因为没有设置 域名解析,导致 DNS 服务器找不到对应的 IP 地址。
在 阿里云 控制台的域名解析中,添加记录:
smith
也是一样的添加,完成之后,基本五分钟以内就可以看到 Nginx 的 502
页面:
提示:这是因为 Play 程序还没启动,端口映射异常,所以出现 Nginx 默认的 502 页面。*
如果添加了记录,却忘记建立 Nginx 的映射配置,就会看到这样的页面:
这时只需要在 /etc/nginx/conf.d/
下创建对应文件,添加与 game
差不多的内容(名字替换掉)就行。
总结
其实更推荐用包管理器来安装这些软件,比如 apt
、yum
等等。
网友评论