在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

./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,因为系统的差异遇到的错误可能不太一样。

相关文章

学习编程是顺着互联网的发展潮流,是一件好事。新手如何学习...
IT行业是什么工作做什么?IT行业的工作有:产品策划类、页面...
女生学Java好就业吗?女生适合学Java编程吗?目前有不少女生...
Can’t connect to local MySQL server through socket \'/v...
oracle基本命令 一、登录操作 1.管理员登录 # 管理员登录 ...
一、背景 因为项目中需要通北京网络,所以需要连vpn,但是服...