logo头像

技术是一种信念

linux安装nginx

安装依赖

  • yum install gcc

  • yum install pcre-devel

  • yum install zlib zlib-devel
  • yum install openssl openssl-devel
  • 一键安装上面四个依赖

    1
    yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel

下载nginx的tar包

1
2
3
4
5
6
7
//创建一个文件夹
cd /usr/local
mkdir nginx
cd nginx
//下载tar包
wget http://nginx.org/download/nginx-1.14.0.tar.gz
tar -xvf nginx-1.14.0.tar.g

安装nginx

执行.confugure

1
2
3
4
//进入nginx目录
cd /usr/local/nginx
//执行命令,这步是关键
./configure --user=nobody --group=nobody --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_gzip_static_module --with-http_realip_module --with-http_sub_module --with-http_ssl_module

如果执行.configure ,如果不加后面的参数的话在配置nginx.conf的时候会报类似这样的错误:

nginx: [emerg] unknown directive “ssl” in /usr/local/nginx/conf/vhost/nginx.conf:8
nginx: configuration file /usr/local/nginx/conf/nginx.conf test failed

执行make

1
make

执行make install命令

1
make install

Nginx常用命令

  • 测试配置文件

    -t
    1
    安装路径下的/nginx/sbin/nginx -t
  • 启动命令

1
安装路径下的/nginx/sbin/nginx
  • 停止命令
1
安装路径下的/nginx/sbin/nginx -s stop

或者 : nginx -s quit

  • 重启命令
1
安装路径下的/nginx/sbin/nginx -s reload
  • 查看进程命令

    1
    ps -ef | grep nginx
  • 平滑重启

    1
    kill -HUP Nginx主进程号

配置防火墙

1
2
3
4
//打开防火墙文件
sudo vim /etc/sysconfig/iptables
//新增行 开放80端口
-A INPUT -p tcp -m state --state NEW -m tcp --dport 90 -j ACCEPT
1
2
//重启防火墙
sudo service iptables restart

这里可以直接使用service iptables stop。 把防火墙关闭了。

Nginx转发配置及测试验证

  1. 编辑conf文件,节点中增加入响应的配置 端口转发
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
server {
listen 443;
server_name www.example.com;
server_name_in_redirect off;
ssl on;
ssl_certificate cert/123456.pem;
ssl_certificate_key cert/123456.key;
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;

location /{
root html;
index index.html index.htm;
}
location /Example {
tcp_nodelay on;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://127.0.0.1:90/Example;
}
}
  1. 测试
1
安装路径下的/nginx/sbin/nginx -t

出现如下的提示,则表示安装成功了:

1
2
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

Nginx启动

  • 启动
1
安装路径下的/nginx/sbin/nginx
  • 测试访问

avatar