一、下载码源包

1. 获得源码包途径
官方网站,可以获得最新的软件包
Nginx: www.nginx.org

2.具体实例展示(tengine)

下载源码包,准备软件包

准备编译环境如编译器gcc、make
# yum -y install   gcc   make   zlib-devel  pcre  pcre-devel  openssl-devel
(pcre: 支持正则表达式,地址重写rewrite)

解压(下载在真机上的,rz上传,rz在vm虚拟机不可用,在xsheel、final shell可用)
# useradd www(用root用户的话权限太大)
# tar xvf tengine-2.2.0.tar.gz
# cd tengine-2.2.0

配置
 ./configure --prefix=/srv/nginx --with-file-aio --with-http_auth_request_module --with-http_ssl_module --with-http_v2_module --with-http_realip_module --with-http_addition_module --with-http_xslt_module=dynamic --with-http_geoip_module=dynamic --with-http_sub_module --with-http_dav_module --with-http_flv_module --with-http_mp4_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_random_index_module --with-http_secure_link_module --with-http_degradation_module --with-http_slice_module --with-http_stub_status_module --with-http_perl_module=dynamic --with-pcre --with-pcre-jit --with-stream=dynamic --with-stream_ssl_module
编译
# make

安装
# make install
二、码源安装过程错误

error1:
  the HTTP XSLT module requires the libxml2/libxslt
  libraries. You can either do not enable the module or install the libraries.

解决方案:
# yum -y install  libxml2  libxml2-dev  libxslt-devel

error2:
       perl module ExtUtils::Embed is required

解决方案:
#yum -y install perl-devel perl-ExtUtils-Embed

error3:
  the GeoIP module requires the GeoIP library.
  You can either do not enable the module or install the library.

解决方案:
# yum -y install GeoIP GeoIP-devel GeoIP-data

三、安装完成还有一堆麻烦事

1、启动测试报错

# /srv/nginx/sbin/nginx  
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] still could not bind()

2、systemctl 查看状态

# systemctl status nginx  (restart也不行)
Unit nginx.service could not be found.

配置nginx的systemctl命令

# chmod +x /usr/lib/systemd/system/nginx.service
#vim  /usr/lib/systemd/system/nginx.service
[Unit]  //对服务的说明
Description=nginx - high performance web server    //描述服务
After=network.target remote-fs.target nss-lookup.target   //描述服务类别
[Service]        //服务的一些具体运行参数的设置
Type=forking     //后台运行的形式
PIDFile=/srv/nginx/logs/nginx.pid     //PID文件的路径
ExecStartPre=/srv/nginx/sbin/nginx -t -c /srv/nginx/conf/nginx.conf  //启动准备
ExecStart=/srv/nginx/sbin/nginx -c /srv/nginx/conf/nginx.conf   //启动命令
ExecReload=/srv/nginx/sbin/nginx -s reload  //重启命令
ExecStop=/srv/nginx/sbin/nginx -s stop  //停止命令
ExecQuit=/srv/nginx/sbin/nginx -s quit   //快速停止
PrivateTmp=true          //给服务分配临时空间
[Install]
WantedBy=multi-user.target   //服务用户的模式
4、启动服务

在启动服务之前,需要先重载systemctl命令

#systemctl daemon-reload

#systemctl start nginx.service

5、还是报错

# systemctl status nginx.service -l

6、# ps aux|grep nginx
root      11675  0.0  0.1  46088  1156 ?        Ss   02:20   0:00 nginx: master process /srv/ngin/sbin/nginx
nobody    11676  0.0  0.2  46548  2180 ?        S    02:20   0:00 nginx: worker process
root      28181  0.0  0.0 112660   968 pts/0    R+   02:35   0:00 grep --color=auto nginx
# kill -9 11675
# kill -9 11676
# ps aux|grep nginx
root      28183  0.0  0.0 112660   964 pts/0    R+   02:35   0:00 grep --color=auto nginx
# systemctl restart nginx
# systemctl status nginx

# /srv/nginx/sbin/nginx -v
nginx version: nginx/1.14.2
 至此大功告成

nginx源码包安装的更多相关文章

  1. 部署企业本地yum源及源码包安装

    YUM命令 yum list //列出每个软件包(包括未安装和已安装) rpm -q repolist //列出所以仓库名称 info //查看软件信息 rpm -qi install //安装 rp ...

  2. CentOS源码包安装apache、nginx服务

    1.通过官网下载apache.nginx源码包 2.进入apache源码包所在目录,解压tar -xf httpd-2.4.12.tar.gz 3.cd httpd-2.4.12 4.阅读README ...

  3. centos 7 源码包安装、卸载nginx

    1.源码包安装之前,首页安装依赖包 yum -y install gcc gcc-c++ make libtool zlib zlib-devel openssl openssl-devel pcre ...

  4. yum 仓库搭建与源码包安装实战

    目录 一.yum 仓库自建示例: 二.源码包安装实践 基础环境 服务端配置 下载及安装fpm软件 客户端: 一.yum 仓库自建示例: 1.安装ftp服务 yum -y install vsftpd ...

  5. Linux进阶之Linux破解密码、yum源配置、防火墙设置及源码包安装

    一.老师语录: 所有要求笔试的公司都是垃圾公司 笔试(是考所有的涉及到的点) 要有自己的卖点.专长(给自己个标签)(至少一个) 生产环境中,尽量使用mv(mv到一个没用的目录下),少使用rm 二.防火 ...

  6. Linux之源码包安装软件

    安装准备      安装c语言编辑器 gcc      压缩包  node-v6.2.0-linux-x64.tar.gz   源码包保存位置  /usr/local/src/ 源码包安装位置 /us ...

  7. Apache源码包安装和子配置文件介绍--update.2014-12-5

    安装apache: 官网:http://httpd.apache.org/download.cgi#apache24 1.wget http://mirror.bit.edu.cn/apache//h ...

  8. Zabbix源码包安装

    Zabbix源码包安装 Cenos5.3 Basic server 安装顺序 Libxml2 Libmcrypt Zlib Libpng Jpeg:需要创建目录jpeg  /bin  /lib   / ...

  9. Lamp源码包安装实录

    Lamp源码包安装实录 附件中是安装步骤,下载站点里包含视频(http://down.51cto.com/data/460776) 本文出自 "李晨光原创技术博客" 博客,请务必保 ...

随机推荐

  1. 如何制作chrome浏览器插件之一

    方法如下: 1.创建一个单独的文件夹,比如说为百度贴吧开发一个插件,就叫TiebaAddion.之后在这个文件夹里创建一个名字为"manifest.json"的文件,在里面写上如下 ...

  2. PHP数字处理

    援引自博文 https://blog.csdn.net/hongxiaoshuang/article/details/54598757 ceil -- 进一法取整 float ceil ( float ...

  3. 通过喝水清晰简单了解I/O五大模型

    一般单次I/O请求会分为两个阶段,每个阶段对于I/O的处理方式是不同的 I/O会经历一个等待资源的阶段 阻塞,指的是在数据不可用时,I/O请求会一直阻塞,直到数据返回 数据不可用时,立即返回,直到被通 ...

  4. JavaScript生成随机数的方法

    一,函数 Math.ceil();  //向上取整. Math.floor();  //向下取整. Math.round();  //四舍五入. Math.random();  //0.0 ~ 1.0 ...

  5. Spring MVC遭遇checkbox的问题解决方案

    转:http://lavasoft.blog.51cto.com/62575/1407213 Spring MVC遭遇checkbox的问题是:当checkbox全不选时候,则该checkbox域的变 ...

  6. 手动升级 Confluence 6 - 升级问题解决

    升级失败了? 如果你需要对你的升级进行回退,你必须首先恢复你老的 Confluence 备份.不要尝试再次进行升级,也不要尝试再次对升级失败的 Confluence 进行再次启动.  在升级过程中遇到 ...

  7. POJ 3692 幼儿园做游戏 最大团 模板题

    Kindergarten Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 6191   Accepted: 3052 Desc ...

  8. THUSC2016 成绩单

    题目链接:Click here Solution: 我们设\(f[l][r][x][y]\)表示在原区间\(l\sim r\) 内还未被取走的值最大为\(x\)最小为\(y\)时的代价,这里我们只考虑 ...

  9. 10.Python内置函数一览表

    为了提高程序员的开发效率,Python 提供了很多可以直接拿来用的函数(初学者可以先理解为方法),每个函数都可以帮助程序员实现某些具体的功能. 举个例子,在 Python 2.x 中 print 只是 ...

  10. vue-cli中route和router的区别

    在使用vue-router的时候经常分不清router和route的区别: 在函数式编程中: this.$router.push('/login') 或者Router.push() 在动态获取路由参数 ...