Ubuntu 安装 Nginx 实现反向代理
安装Nginx依赖库(ubuntu平台)
最近域名通过了备案, 想着应用总不能带着端口号访问吧, 于是在网上踩了很多坑, 终于找到了一步直达的方法,起码这一次很顺利的实现了
安装gcc g++的依赖库
ubuntu平台:
apt-get install build-essential apt-get install libtool
centeros平台:
// centos平台编译环境使用如下指令 // 安装make: yum -y install gcc automake autoconf libtool make // 安装g++: yum install gcc gcc-c++
安装pcre依赖库
sudo apt-get update sudo apt-get install libpcre3 libpcre3-dev
安装zlib依赖库
apt-get install zlib1g-dev
安装ssl依赖库
apt-get install openssl
安装Nginx
#下载最新版本: wget http://nginx.org/download/nginx-1.13.8.tar.gz #解压: tar -zxvf nginx-1.13.8.tar.gz #进入解压目录: cd nginx-1.13.8 #配置: ./configure --prefix=/usr/local/nginx #编辑nginx: make 注意:这里可能会报错,提示“pcre.h No such file or directory”,具体详见:http://stackoverflow.com/questions/22555561/error-building-fatal-error-pcre-h-no-such-file-or-directory 需要安装 libpcre3-dev, 命令为:sudo apt-get install libpcre3-dev #安装nginx: sudo make install #启动nginx: sudo /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf 注意:-c 指定配置文件的路径,不加的话,nginx会自动加载默认路径的配置文件,可以通过 -h查看帮助命令。 #查看nginx进程: ps -ef|grep nginx
接下来我们可以sudo (super user do) 一下看是否安装正常: (注意: 关注一下目录路径!!!)
poerchant@ubuntu:/usr/local/nginx$ sudo ./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
如果显示如上, 则表示配置文件正确. 否则会有相关的提示
接下来就是ip映射的关键步骤了:
# 进入nginx配置目录文件夹下 root@iZuf6hcl8bs46q83p5v42hZ:~# cd /usr/local/nginx/conf/ # ls 查看文件你会看见一个 nginx.conf的文件 # 进入nginx.conf文件并编辑 root@iZuf6hcl8bs46q83p5v42hZ:/usr/local/nginx/conf# vi nginx.conf # 你会找到这样的一部分 #设定虚拟主机配置 server { #侦听80端口 listen 80; #定义使用 www.nginx.cn访问 server_name www.nginx.cn; #定义服务器的默认网站根目录位置 root html; #设定本虚拟主机的访问日志 access_log logs/nginx.access.log main; #默认请求 location / { #定义首页索引文件的名称 index index.php index.html index.htm; } # 定义错误提示页面 error_page 500 502 503 504 /50x.html; location = /50x.html { } #静态文件,nginx自己处理 location ~ ^/(images|javascript|js|css|flash|media|static)/ { #过期30天,静态文件不怎么更新,过期可以设大一点, #如果频繁更新,则可以设置得小一点。 expires 30d; } #PHP 脚本请求全部转发到 FastCGI处理. 使用FastCGI默认配置. location ~ .php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } #禁止访问 .htxxx 文件 location ~ /.ht { deny all; } }
以上代码实在太多了, 如果你和我一样只是前端代码可以再简化一下如下:
(
编辑文件: i
编辑完成后 esc
之后 shift + : wq
)
# 默认的配置 server { listen 80; server_name localhost; #charset koi8-r; #access_log logs/host.access.log main; location / { root html; index index.html index.htm; } #error_page 404 /404.html; # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } } # 新添加的配置(如果有需要可以再添加) server { listen 80; server_name chat.sinbada.top; # 你的域名地址 location / { index index.html; proxy_pass http://101.132.69.201:8888; # 你的项目ip地址 } }
OK, 至此所有步骤基本完成, 最后一步就是重启nginx
nginx -s reload 重新载入nginx(当配置信息发生修改时)
大功告成!!!
直接打开域名就可以访问项目了, 完美!
Nginx常用命令
启动Nginx
nginx常用命令 nginx -c /usr/local/nginx/conf/nginx.conf 启动nginx(windows下start nginx); nginx -s quit 停止ngix nginx -s reload 重新载入nginx(当配置信息发生修改时) nginx -s reopen 打开日志文件 nginx -v 查看版本 nginx -t 查看nginx的配置文件的目录 nginx -h 查看帮助信息