0%

centos安装nginx:在配置文件中实现反向代理

2018年2月20日 下午3:34

安装依赖:

1
2
3
4
sudo yum install gcc-c++
sudo yum install pcre-devel
sudo yum install zlib zlib-devel
sudo yum install openssl openssl-devel

检查nginx文件

1
2
3
[czh@centos6 developer]$ cd nginx-1.10.2/
[czh@centos6 nginx-1.10.2]$ ./configure
[czh@centos6 nginx-1.10.2]$ sudo make

启动nginx:

1
2
3
4
5
6
[czh@centos6 sbin]$ sudo ./nginx
[czh@centos6 sbin]$ sudo ps aux | grep nginx
root 18114 0.0 0.0 23968 824 ? Ss 16:06 0:00 nginx: master process ./nginx
nobody 18115 0.0 0.1 24388 1404 ? S 16:06 0:00 nginx: worker process
czh 18129 0.0 0.0 103332 852 pts/3 S+ 16:06 0:00 grep nginx
[czh@centos6 sbin]$

启动错误:此时ps aux| grep nginx只有一个nginx进程

1
2
3
4
5
[czh@centos6 sbin]$ ./nginx
nginx: [alert] could not open error log file: open() "/usr/local/nginx/logs/error.log" failed (13: Permission denied)
2018/02/20 15:58:08 [emerg] 16596#0: mkdir() "/usr/local/nginx/client_body_temp" failed (13: Permission denied)
[czh@centos6 sbin]$ ps aux| grep nginx
czh 16738 0.0 0.0 103332 856 pts/3 S+ 15:58 0:00 grep nginx

查询nginx位置

1
2
[czh@centos6 vhost]$ whereis nginx
nginx: /usr/local/nginx

更改Mac本身的hosts文件

更改nginx的配置:修改nginx.conf

1
[czh@centos6 conf]$ sudo vim nginx.conf

增加vhost文件夹

1
2
3
4
5
6
7
8
9
[czh@centos6 conf]$ sudo mkdir vhost
[sudo] password for czh:
[czh@centos6 conf]$ ls
fastcgi.conf mime.types uwsgi_params
fastcgi.conf.default mime.types.default uwsgi_params.default
fastcgi_params nginx.conf vhost
fastcgi_params.default nginx.conf.default win-utf
koi-utf scgi_params
koi-win scgi_params.default

在vhost中增www.imooc.com.conf文件

1
[czh@centos6 vhost]$ sudo vim www.imooc.com.conf

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

server {
listen 80;
autoindex on;
server_name www.imooc.com;
access_log /usr/local/nginx/logs/access.log combined;
index index.html index.htm index.jsp index.php;
#error_page 404 /404.html;
if ( $query_string ~* ".*[\;'\<\>].*" ){
return 404;
}

location / {
proxy_pass http://127.0.0.1:8080;
add_header Access-Control-Allow-Origin *;
}
}

错误的方式:这里不能给http加上s,必须使用http,这是浏览器自己加的,一定小心
https://www.imooc.com/
http://www.imooc.com/

重启nginx:

1
[czh@centos6 vhost]$ sudo ../../sbin/nginx -s reload

在vhost中增image.imooc.com.conf文件

1
2
3
[czh@centos6 vhost]$ sudo vim image.imooc.com.conf
[sudo] password for czh:
[czh@centos6 vhost]$ sudo ../../sbin/nginx -s reload
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

server {
listen 80;
autoindex off;
server_name image.imooc.com;
access_log /usr/local/nginx/logs/access.log combined;
index index.html index.htm index.jsp index.php;
#error_page 404 /404.html;
if ( $query_string ~* ".*[\;'\<\>].*" ){
return 404;
}

location / {
root /ftpfile/;
add_header Access-Control-Allow-Origin *;
}
}

效果: