下载并解压
1
2curl -o https://nginx.org/download/nginx-1.14.2.tar.gz
tar zxvf nginx-1.14.2.tar.gz执行
configure
命令,生成Makefile
文件1
2
3
4查看编译参数
./configure --help
编译时启用四个模块
./configure --with-http_ssl_module --with-http_realip_module --with-http_geoip_module --with-http_stub_status_module
若出现
./configure: error: C compiler cc is not found
错误,则执行:1
yum -y install gcc gcc-c++ autoconf automake make
若出现
./configure: error: the HTTP rewrite module requires the PCRE library.
错误,则执行:1
2
3
4
5$ yum install pcre-devel
```
- 若出现`./configure: error: SSL modules require the OpenSSL library.`错误,则执行:
```shell
$ yum -y install openssl openssl-devel若出现
./configure: error: the GeoIP module requires the GeoIP library.
错误,则执行:1
yum -y install GeoIP-devel
看到如下提示表示生成成功:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18Configuration summary
+ using system PCRE library
+ using system OpenSSL library
+ using system zlib library
nginx path prefix: "/usr/local/nginx"
nginx binary file: "/usr/local/nginx/sbin/nginx"
nginx modules path: "/usr/local/nginx/modules"
nginx configuration prefix: "/usr/local/nginx/conf"
nginx configuration file: "/usr/local/nginx/conf/nginx.conf"
nginx pid file: "/usr/local/nginx/logs/nginx.pid"
nginx error log file: "/usr/local/nginx/logs/error.log"
nginx http access log file: "/usr/local/nginx/logs/access.log"
nginx http client request body temporary files: "client_body_temp"
nginx http proxy temporary files: "proxy_temp"
nginx http fastcgi temporary files: "fastcgi_temp"
nginx http uwsgi temporary files: "uwsgi_temp"
nginx http scgi temporary files: "scgi_temp"
- 编译安装
1
make && make install
PS: 可以通过make clean
来清除Makefile
。
如果一切正常,则nginx
会被安装到/usr/local/nginx
目录,该目录主要包含 conf
、 html
、logs
、sbin
四个目录。
- conf 存放了
nginx
的所有配置文件。其中,nginx.conf文件是nginx
服务器的主配置文件,其他配置文件是用来配置nginx
的相关功能,比如,fastcgi.cong和fastcgi_params用来配置fastcgi。 - html 该目录存放了
nginx
服务器在运行过程中调用的一些html文件。index.html文件是在服务器运行成功后默认返回的网页;50x.html是在nginx
服务器出现某些问题时将会调用该页面。 - logs 顾名思义,用来存放
nginx
服务器的日志。因为目前服务器还未启动,所以该目录为空。 - sbin 只有一个nginx文件,该文件就是
nginx
服务器的主程序了。
启动nginx
1
./usr/local/nginx/sbin/nginx
是否成功
- 访问ip,出现下图表示成功
- ps验证:显示已经启动成功
1
2
3
4ps -ef|grep nginx
root 8483 1 0 21:21 ? 00:00:00 nginx: master process ./nginx
nobody 8484 8483 0 21:21 ? 00:00:00 nginx: worker process
root 13186 12897 0 22:17 pts/1 00:00:00 grep --color=auto nginx
- 目前只能用
/usr/local/nginx/sbin/nginx
,不能全局使用nginx
. 需要在系统环境变量添加一行代码,首先打开系统环境变量文件:1
vi /etc/profile
在末尾追加一行PATH=$PATH:/usr/local/webserver/nginx/sbin
, :wq
保存后,执行下面命令即可立即生效:source /etc/profile
。
- 常用命令
1
2
3
4
5
6nginx #启动nginx
nginx -s quit #快速停止nginx
nginx -V #查看版本,以及配置文件地址
nginx -v #查看版本
nginx -s reload|reopen|stop|quit #重新加载配置|重启|快速停止|安全关闭nginx
nginx -h #帮助