发表于: 2017-12-24 22:19:59
1 674
今天完成的事情:
使用nginx进行反向代理(也就是转发请求)
安装Nginx依赖库
安装gcc g++的依赖库
ubuntu平台可以使用如下命令。
1 2 | apt-get install build-essential apt-get install libtool |
centeros平台可以使用如下命令。
1 2 3 4 5 6 | centos平台编译环境使用如下指令 安装make: yum -y install gcc automake autoconf libtool make
安装g++: yum install gcc gcc-c++ |
安装 pcre依赖库(http://www.pcre.org/)
1 2 | sudo apt-get update sudo apt-get install libpcre3 libpcre3-dev |
安装 zlib依赖库(http://www.zlib.net)
1 | apt-get install zlib1g-dev |
安装 ssl依赖库
1 | apt-get install openssl |
安装Nginx(http://nginx.org)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | #下载最新版本: wget http://nginx.org/download/nginx-1.11.3.tar.gz #解压: tar -zxvf nginx-1.11.3.tar.gz #进入解压目录: cd nginx-1.11.3 #配置: ./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 |
Nginx常用命令
启动 Nginx
1 2 3 | /usr/local/nginx/sbin/nginx
./sbin/nginx |
停止 Nginx
1 2 3 | ./sbin/nginx -s stop
./sbin/nginx -s quit |
-s都是采用向 Nginx 发送信号的方式。
Nginx重新加载配置
1 | ./sbin/nginx -s reload |
指定配置文件
1 | ./sbin/nginx -c /usr/local/nginx/conf/nginx.conf |
-c表示configuration,指定配置文件
查看 Nginx 版本
有两种可以查看 Nginx 的版本信息的参数。第一种如下:
1 2 3 | ./sbin/nginx -v
nginx: nginx version: nginx/1.0.0 |
另一种显示的是详细的版本信息:
1 2 3 4 5 | poechant@ubuntu:/usr/local/nginx$ ./sbin/nginx -V nginx: nginx version: nginx/1.0.0 nginx: built by gcc 4.3.3 (Ubuntu 4.3.3-5ubuntu4) nginx: TLS SNI support enabled nginx: configure arguments: --with-http_ssl_module --with-openssl=/home/luming/openssl-1.0.0d/ |
检查配置文件是否正确
1 2 3 4 5 | poechant@ubuntu:/usr/local/nginx$ ./sbin/nginx -t nginx: [alert] could not open error log file: open() "/usr/local/nginx/logs/error.log" failed (13: Permission denied) nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok 2012/01/09 16:45:09 [emerg] 23898#0: open() "/usr/local/nginx/logs/nginx.pid" failed (13: Permission denied) nginx: configuration file /usr/local/nginx/conf/nginx.conf test failed |
如果出现如上的提示信息,表示没有访问错误日志文件和进程,可以sudo(super user do)一下:
1 2 3 | 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 |
如果显示如上,则表示配置文件正确。否则,会有相关提示。
显示帮助信息
1 | poechant@ubuntu:/user/local/nginx$ ./sbin/nginx -h |
或者:
1 | poechant@ubuntu:/user/local/nginx$ ./sbin/nginx -? |
nginx配置如下
需要在server外面定义一个upstream ,才能用nginx代理到tomcat的页面正确显示.
里面使用proxy_pass http://server1/ 使用别名定位.
正确配置后可以直接使用ip地址默认80端口访问.
明天计划的事情:
学习shell脚本,然后进入任务4.
遇到的问题:(
一开始我通过apt-get安装了源里面的nginx,配置什么和解压版都有出入,找到配置文件修改了也不能正确代理,
无法显示tomcat的页面元素,只有字符串.后来没卸载干净,导致我安装解压版的nginx花费了很长时间....最后通过指令把nginx卸载完全才正确安装...
收获:
服务器上的废弃软件需要卸载干净,不然问题很大.
评论