快速切换Nginx作为网站前端代理服务器
jopen
11年前
Nginx比起Apache的高性能高并发特性已经被广泛的应用于生产环境中,如果网站原来使用的是Apache,那如何快速的将Nginx作为前端代理服务器来提供服务呢?
使用一个非常简单的配置文件配置即可。这里摒弃复杂的切换,和生产环境中要考虑的其他诸多因素,单纯简单讲解实现方法。
找到Nginx配置文件,一般位于/usr/local/nginx/conf中,名字为nginx.conf,为了测试,先不改动Apache的任何配置,将Nginx服务在81端口。
找到server配置,修改为以下配置,其中的website.com是网站的域名
server { listen 81; server_name website.com; #charset koi8-r; #access_log logs/host.access.log main; location / { proxy_pass http://website.com; #root html; #index index.html index.htm; }
为了安全,我们可以先测试一下配置文件是否有语法错误
执行下面的命令测试语法是否正确
sudo /usr/local/nginx/sbin/nginx -t
如果正确将会显示类似下面的内容
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
为什么一定要测试配置文件是否正确呢?
1.Nginx配置文件的每一行后面都有一个分号,许多初次使用者会忘记添加分号,此时可能会出现一些莫名其妙的错误,比如提示缺少括号 }
2.Nginx运行时配置文件错误的载入可能会导致进程不受控制,即使使用stop命令都无法停止进程,所以一定要先测试配置文件是否正确
(ps:如果真的不受控制了,那只好强制杀死进程了,可以使用这条命令杀死进程 sudo killall nginx )
配置文件测试正确之后,reload配置文件即可使配置生效
sudo /etc/init.d/nginx reload
配置文件已经成功载入
打开浏览器,输入上面配置的网站的域名(原来网站的域名)+端口号81,例如配置文件中给出的website.com,可以使用http://website.com:81来访问,这样之后就将Nginx设置为前端代理服务器了。
如果是Chrome浏览器,可以打开控制台,找到Network,查看加载的第一个文件的Response Header是否已经是Nginx
这里是我的截图,可以看到Server行已经变成Nginx