源码安装nginx
- 检查是否安装依赖环境gcc
//检查是否安装gcc gcc -v //没有安装则安装gcc yum install gcc-c++
-
检查是否安装PCRE pcre-devel (PCRE(Perl Compatible Regular Expressions) 是一个Perl库,包括 perl 兼容的正则表达式库。nginx 的 http 模块使用 pcre 来解析正则表达式,所以需要在 linux 上安装 pcre 库,pcre-devel 是使用 pcre 开发的一个二次开发库。nginx也需要此库。)
#使用-y是为了自动继续进行 防止会出现y/n停顿 yum install -y pcre pcre-devel
-
检查是否安装zlib压缩程序(zlib 库提供了很多种压缩和解压缩的方式, nginx 使用 zlib 对 http 包的内容进行 gzip ,所以需要在 Centos 上安装 zlib 库。)
yum install -y zlib zlib-devel
-
检查是否安装OpenSSL(OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及 SSL 协议,并提供丰富的应用程序供测试或其它目的使用。
nginx 不仅支持 http 协议,还支持 https(即在ssl协议上传输http),所以需要在 Centos 安装 OpenSSL 库。)yum install -y openssl openssl-devel
-
官网下载nginx(https://nginx.org/en/download.html)
-
下载最新稳定版nginx
#-c 命令是断点续传 -b命令是后台执行 wget -c url
-
解压压缩包并进入解压后的文件
//解压压缩包 tar -zxvf nginx-1.14.2.tar.gz //进入文件 cd cd nginx-1.14.2/
-
配置nigix
#使用默认配置 ./configure //使用自定义配置 ./configure \ --prefix=/usr/local/nginx \ --conf-path=/usr/local/nginx/conf/nginx.conf \ --pid-path=/usr/local/nginx/conf/nginx.pid \ --lock-path=/var/lock/nginx.lock \ --error-log-path=/var/log/nginx/error.log \ --http-log-path=/var/log/nginx/access.log \ --with-http_gzip_static_module \ --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
-
编译安装nginx
make && make install
-
查看nginx在哪
whereis nginx
-
启动nginx
//进入命令 cd /usr/local/nginx/sbin //启动nginx ./nginx //如果端口被占用了,先查看端口占用情况 netstat -apn | grep 80 //查看占用端口的进程 ps -ef | grep pid //杀死进程 kill -9 pid //然后重启nginx
-
停止nginx
./nginx -s stop 此方式停止步骤是待nginx进程处理任务完毕进行停止。 ./nginx -s quit 此方式相当于先查出nginx进程id再使用kill命令强制杀掉进程。 ./nginx -s reload 平滑重启
-
查看nginx进程
pa aux |grep nginx
-
开机启动
//在rc.local增加启动代码就可以了 vi /etc/rc.local //给文件授权 chmod 777 rc.local
-
卸载nginx
//查看nginx进程是否启动 ps -aux | grep nginx //启动则杀死进程 kill -9 pid //查询nginx相关文件路径 find / -name nginx //逐一删除
-
已安装nginx后添加模块
//查看nginx进程是否开启 ps -aux | grep nginx //开启则杀死 kill -9 pid //查看nginx当前加载的模块 /usr/local/nginx/sbin/nginx -V //若没有需要的模块则加载 //先进入nginx安装文件夹下 ./configure --prefix=/usr/local/nginx --with-http_stub_status_modele //编译,但不要安装 make //替换二进制包,保留当前二进制包备用 cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak cp /objs/nginx /usr/local/nginx/sbin/ //重启nginx
-
如果输入ip地址访问不到可能是80端口没开,所以我们需要打开防火墙的80端口, 我这里用的iptables
//防火墙配置: vi /etc/sysconfig/iptables; -A INPUT -m state –state New tcp -m tcp -p tcp –dport 80 -j ACCEPT //重新启动防火墙; service iptables restart;
再访问就能访问到了
-