阿里云服务器安装并配置nginx代理转发请求
- 下载nginx安装包,或者上传nginx安装包,此处我用的是Xmanager工具从本地上传了一个nginx安装包。
- 安装依赖库
yum -y install gcc pcre pcre-devel zlib zlib-devel openssl openssl-devel
yum -y install gcc
yum install -y unzip zip - 解压安装包并安装
进入安装包目录解压:
tar -zxvf nginx-1.10.0.tar.gz
进入解压后的目录:
cd nginx-1.10.0
然后配置参数:
./configure --prefix=/opt/nginx --sbin-path=/usr/bin/nginx
编译并安装:
make && make install - 如果编译安装过程中出错,进行以下操作:
错误1:cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \ -o objs/src/core/ngx_murmurhash.o …原因:将警告当成错误处理,进入到解压的目录找到当前目录下找到objs文件夹,并进入,打开文件Makefile,找到有下面内容的这行:
CFLAGS = -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g
-Werror: gcc将所有的警告当成错误进行处理把这行内容中的 “-Werror”去掉。
错误2:src/os/unix/ngx_user.c:36:7: error: ‘struct crypt_data’ has no member named ‘current_salt’ 36 | cd.current_salt[0] = ~salt[0]; | ^…原因:C语言的代码,不是很清楚他们之间的调用关系,反正删除之久可以安装。 - 继续编译安装
make && make install - 配置nginx
vim /opt/nginx/conf/nginx.conf
将配置文件改为;
#user nobody;
worker_processes 1;
events {worker_connections 1024;
}
http {include mime.types;default_type application/octet-stream;sendfile on;keepalive_timeout 65;server {listen 80;server_name app;location / {root html;index index.html index.htm;}error_page 500 502 503 504 /50x.html;location = /50x.html {root html;}}
}
作用就是监听80端口,在浏览器通过http请求请求服务器时可以有响应(请求时可以直接使用ip不加端口,没有端口的请求默认是80端口),当有80端口请求发送到服务器时,nginx会返回一个默认的html界面。
7. 启动nginx
nginx # 启动nginx
nginx -s stop # 停止nginx
nginx -s reload # 重新载入配置文件
8. 开启阿里云服务器端口(这一步很重要,阿里云服务器默认是没有开启的,不开启浏览器无法访问)
9. 在浏览器中访问服务器