1、安装依赖
yum -y install make automake autoconf gcc gcc-c++ libtool zlib zlib-devel pcre-devel openssl openssl-devel
如果失败,就别一次性安装这么多个,一个一个慢慢安装
2、编译环境准备
- 下载
openssl
:ssl
模块加密,支持https
- 下载
pcre
:地址重定向,地址重写功能和localtion
指令以及正则表达式的支持 - 下载
zlib
:gzip
压缩模块 - 下载
nginx
cd /usr/local/src
wget https://www.openssl.org/source/openssl-1.0.2s.tar.gz
wget https://ftp.pcre.org/pub/pcre/pcre-8.43.tar.gz
wget https://zlib.net/zlib-1.2.11.tar.gz
wget http://nginx.org/download/nginx-1.17.1.tar.gz
使用tar
解压所有的文件
ls *.tar.gz | xargs -n1 tar xzvf
安装库
cd pcre-8.43
./configure
make
make install
cd ../zlib-1.2.11
./configure
make
make install
cd ../openssl-1.0.2s
./config
make
make install
3、安装nginx
cd ../nginx-1.17.1
./configure --with-pcre=../pcre-8.43 \
--with-zlib=../zlib-1.2.11 \
--with-openssl=../openssl-1.0.2s \
--with-http_ssl_module \
--with-http_v2_module
make
make install
参数 | 描述 |
---|---|
--prefix=<PATH> | Nginx安装目录,以及有其他配置脚本选项的路径设置的所有相对路径的基本位置。默认值/usr/local/nginx |
--sbin-path=<PATH> | Nginx二进制执行文件的名称,默认值:<prefix>/sbin/nginx |
--conf-path=<PATH> | Nginx配置文件的名称。但是,您可以通过在nginx命令行上使用选项指定其他文件来始终在启动时覆盖此值。默认值:<prefix> conf / nginx.conf-c <FILENAME> |
--pid-path=<PATH> | nginx.pid文件的名称,用于存储nginx主进程的进程ID 。安装后,可以使用Nginx配置文件中的pid指令更改文件名的路径。默认值:<prefix> /logs/nginx.pid |
--error-log-path=<PATH> | error,warn和诊断数据的日志文件的名称。安装后,可以使用Nginx配置文件中的error_log指令更改文件名。默认值:<prefix> /logs/error.log |
--http-log-path=<PATH> | HTTP服务器请求的主日志文件的名称。安装后,始终可以使用Nginx配置文件中的access_log指令更改文件名。默认值:<prefix> /logs/access.log |
--user=<NAME> | Nginx运行进程的拥有者。安装后,可以使用Nginx配置文件中的user指令更改名称。默认:nobody |
--group=name | nginx运行进程的拥有者用户组。安装后,可以使用NGINX配置文件中的user指令更改名称。默认值:--user选项设置的值 |
--with-pcre=<PATH> | PCRE库源代码的路径,这是位置指令和Rewrite模块中正则表达式支持所必需的 |
--with-pcre-jit | 使用“即时编译”支持(pcre_jit指令)构建PCRE库 |
--with-zlib=<PATH> | zlib库的源代码路径,Gzip模块需要该路径 |
--with-http_ssl_modul | 启用HTTPS支持 |
--with-http_v2_module | 开启 HTTP/2请求支持 |
4、启动nginx
/usr/local/nginx/sbin/nginx
访问http://ip:80
,ip
是服务器的ip
,可以看到nginx
欢迎页
5、修改配置
这里修改端口80
为8000
,避免占用到别的程序的端口,例如Apache
会占用80端口
vim /usr/local/nginx/conf/nginx.conf
找到
server {
listen 80;
server_name localhost;
按i
,进入编辑状态,把80修改为8000,注意不要用数字键盘
按Esc
,退出编辑状态,输入:wq
保存并退出编辑
6、重启nginx
修改了配置后重启nginx生效
/usr/local/nginx/sbin/nginx -s reload
7、配置环境变量
我们想用nginx来代替/usr/local/nginx/sbin/nginx
,就需要配置下环境变量
vi ~/.bashrc
修改PATH
PATH=/usr/local/nginx/sbin:$PATH
保存退出后,运行命令让修改生效
source ~/.bashrc
以后就不用再输入长串的路径了,只需要输入nginx
8、其他命令
nginx #开启
nginx -s stop #停止,相当于先查出nginx进程id再使用kill命令强制杀掉进程
nginx -s quit #退出,停止步骤是待nginx进程处理任务完毕进行停止
nginx -s reload #重启
netstat -ano|grep 80 #查看端口占用
ps -ef | grep nginx #查看nginx进程
ps ax|grep nginx #查看nginx进程PID
kill -9 PID #根据PID杀死进程
sudo chown root nginx #将nginx权限分配给root用户
sudo chmod u+s nginx #给nginx分配特殊权限