在lnmp环境中的nginx编译安装
我用的linux系统是 centos7.1。
如果linux系统没有预先安装 gcc 等编译软件可以用yum源安装。安装nginx,首先需要安装依赖模块pcre、zlib、openssl。
gzip 模块需要 zlib 库
rewrite 模块需要 pcre 库
ssl 功能需要 openssl库
1.安装pcre依赖
- 下载 pcre-8.38 wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.38.tar.gz
- 解压 tar -zxvf pcre-8.38.tar.gz
- 进入到解压目录 cd 你的目录/pcre-8.38
- 编译 ./configure --prefix=/opt/project/pcre #指定安装目录
- 编译完成之后安装 make && make install
2.安装zlib依赖
- 下载 zlib-1.2.11 wget http://zlib.net/zlib-1.2.11.tar.gz
- 解压 tar -zxvf zlib-1.2.11.tar.gz
- 进入到解压目录 cd 你的目录/zlib-1.2.11
- 编译 ./configure --prefix=/opt/project/zlib #指定安装目录
- 编译完成之后安装 make && make install
3.安装openSSL依赖
- 下载 openssl-1.1.1-pre5 wget https://www.openssl.org/source/openssl-1.1.1-pre5.tar.gz
- 解压 tar -zxvf openssl-1.1.1-pre5.tar.gz
- 进入到解压目录 cd 你的目录/openssl-1.1.1-pre5
- 编译 ./configure --prefix=/opt/project/openssl #指定安装目录
- 编译完成之后安装 make && make install
4.安装nginx服务
手动创建 nginx 用户与用户组
groupadd nginx
useradd nginx -g nginx -s /sbin/nologin -M
- 下载 wget http://nginx.org/download/nginx-1.14.0.tar.gz
- 解压 tar -zxvf nginx-1.14.0.tar.gz
- 编译
./configure --prefix=/opt/project/nginx-1.14 #nginx 安装位置
--sbin-path=/opt/project/nginx-1.14/sbin/nginx #设置nginx可执行文件路径
--conf-path=/opt/project/nginx-1.14/config/nginx.conf #设置nginx配置文件路径
--pid-path=/opt/project/nginx-1.14/logs/nginx.pid #设置nginx.pid文件
--error-log-path=/opt/project/nginx-1.14/logs/error.log #设置主错误,警告,和诊断文件的名称
--lock-path=/opt/project/nginx-1.14/logs/nginx.log \
--http-log-path=/opt/project/nginx-1.14/logs/access.log #设置主请求的HTTP服务器的日志文件的名称
--with-http_ssl_module
--user=nginx \
--group=nginx \
--with-pcre=/var/software/nginx/pcre-8.38 #指的是pcre 的源码路径
--with-zlib=/var/software/nginx/zlib-1.2.11 #指的是zlib 的源码路径
--with-openssl=/var/software/nginx/openssl-1.1.1-pre5 #指的是openssl 的源码路径
- 安装 make && make install
- nginx编译安装完成以后,修改nginx.conf
user nginx nginx;
启动nginx /opt/project/nginx/nginx
重启nginx /opt/project/nginx/nginx -s reload
杀掉进程 pkill -9 nignx
查看端口 netstat -ano|grep 80
查看进程 ps -ef|grep nginx
6>
如果访问不了,需要关闭防火墙。
centos7 查看防火墙状态
firewall-cmd --state #running 防火墙运行中 (not running 已关闭)
关闭防火墙
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
如果在安装过程中,遇到问题请自行google,因为系统的差异遇到的错误可能不太一样。