网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
- zlib
zlib库提供了很多种压缩和解压缩的方式,nginx使用zlib对http包的内容进行gzip,所以需要在linux上安装zlib库。
yum install -y zlib zlib-devel
- OpenSSL
OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用。
nginx不仅支持http协议,还支持https(即在ssl协议上传输http),所以需要在linux安装openssl库。
yum install -y openssl openssl-devel
注意这些环境一定要有
二 编译安装
将nginx-1.8.0.tar.gz拷贝至linux服务器/usr/local/目录下。
解压:
tar -zxvf nginx-1.8.0.tar.gz
进入 nginx-1.8.0
cd nginx-1.8.0
创建目录:
mkdir -p /var/temp/nginx
设置参数(执行):
./configure \
–prefix=/usr/local/nginx \
–pid-path=/var/run/nginx/nginx.pid \
–lock-path=/var/lock/nginx.lock \
–error-log-path=/var/log/nginx/error.log \
–http-log-path=/var/log/nginx/access.log \
–http-client-body-temp-path=/var/temp/nginx/client \
–http-proxy-temp-path=/var/temp/nginx/proxy \
–http-fastcgi-temp-path=/var/temp/nginx/fastcgi \
–http-uwsgi-temp-path=/var/temp/nginx/uwsgi \
–http-scgi-temp-path=/var/temp/nginx/scgi\
–with-http_gzip_static_module \
–with-http_stub_status_module \
–with-http_ssl_module
此步骤很重要, 如果不需要额外更改配置可直接执行:./configure
注意:上边将临时文件目录指定为/var/temp/nginx**,需要在/var下创建temp及nginx****目录**
编译安装:
make
make install
安装成功查看安装目录 :cd …/nginx
启动与暂停
启动:
cd /usr/local/nginx/sbin/
./nginx
报错
这种情况是因为端口冲突
查看nginx端口号 : cat /usr/local/nginx/conf/nginx.conf
查找出占用的进程将其杀死 : netstart -ntlp|grep 80, 然后再启动
查看进程
ps -aux | grep nginx
注意:执行./nginx启动nginx,这里可以-c指定加载的nginx配置文件,如下:
./nginx -c /usr/local/nginx/conf/nginx.conf
如果不指定-c**,nginx在启动时默认加载conf/nginx.conf文件,此文件的地址也可以在编译安装nginx时指定./configure的参数(–conf-path=** 指向配置文件(nginx.conf**))**
- 停止nginx
方式1,快速停止:
cd /usr/local/nginx/sbin/
./nginx -s stop
此方式相当于先查出nginx进程id再使用kill命令强制杀掉进程。
方式2,完整停止(建议使用):
cd /usr/local/nginx/sbin
./nginx -s quit
此方式停止步骤是待nginx进程处理任务完毕进行停止。
- 重启nginx
方式1,先停止再启动(建议使用):
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!