欢迎您来到腾讯云!积分商城

腾讯云腾讯云论坛

 找回密码
 立即注册
快捷导航
搜索
查看: 4300|回复: 3

小技巧 lnmp(ngxin1.8+mysql5.6+php5.6)编译安装 nginx篇

[复制链接]

21

主题

12

好友

1万

积分

版主

Rank: 7Rank: 7Rank: 7Rank: 7

云币
22728
威望
12021
发表于 2015-11-4 20:55:56 |显示全部楼层 |未分类
本帖最后由 Static7 于 2015-11-12 16:03 编辑

上一篇 小技巧 lnmp(ngxin1.8+mysql5.6+php5.6)编译安装 mysql篇 我们已经安装好mysql
今天我们开始安装nginx,nginx 是一个高性能的 HTTP 和 反向代理 服务器.....这个就不用介绍了,反正比apache配置简单,而且节约运行内存,这才是关键、
回到正题
我们进入安装包目录
  1. [root@VM_53_238_centos ~]# cd /root/download/lnmp/
复制代码

小技巧 lnmp(ngxin1.8+mysql5.6+php5.6)编译安装 nginx篇

小技巧 lnmp(ngxin1.8+mysql5.6+php5.6)编译安装 nginx篇


然后 先安装nginx必备的的东西,先解压以下安装包并建立相关的安装路径
  1. [root@VM_53_238_centos lnmp]# tar -zxvf pcre-8.36.tar.gz
复制代码

小技巧 lnmp(ngxin1.8+mysql5.6+php5.6)编译安装 nginx篇

小技巧 lnmp(ngxin1.8+mysql5.6+php5.6)编译安装 nginx篇


接着配置并编译安装pcre
  1. [root@VM_53_238_centos lnmp]# cd pcre-8.36
复制代码
配置完成是这样的

小技巧 lnmp(ngxin1.8+mysql5.6+php5.6)编译安装 nginx篇

小技巧 lnmp(ngxin1.8+mysql5.6+php5.6)编译安装 nginx篇

make 完成后是这样子的

小技巧 lnmp(ngxin1.8+mysql5.6+php5.6)编译安装 nginx篇

小技巧 lnmp(ngxin1.8+mysql5.6+php5.6)编译安装 nginx篇


make install 后是这样的

小技巧 lnmp(ngxin1.8+mysql5.6+php5.6)编译安装 nginx篇

小技巧 lnmp(ngxin1.8+mysql5.6+php5.6)编译安装 nginx篇


同理,openssl和zlib 也是这上边的步骤
返回上一级目录
  1. [root@VM_53_238_centos pcre-8.36]# cd ..
复制代码
配置完成

小技巧 lnmp(ngxin1.8+mysql5.6+php5.6)编译安装 nginx篇

小技巧 lnmp(ngxin1.8+mysql5.6+php5.6)编译安装 nginx篇


make 完成

小技巧 lnmp(ngxin1.8+mysql5.6+php5.6)编译安装 nginx篇

小技巧 lnmp(ngxin1.8+mysql5.6+php5.6)编译安装 nginx篇


make install 完成

小技巧 lnmp(ngxin1.8+mysql5.6+php5.6)编译安装 nginx篇

小技巧 lnmp(ngxin1.8+mysql5.6+php5.6)编译安装 nginx篇


等一下,openssl还需要配置一下路径
  1. [root@VM_53_238_centos openssl-1.0.1j]# vim /etc/profile
复制代码

export PATH=$PATH:/usr/local/openssl/bin
插入到
export PATH=$PATH:/usr/local/mysql/bin 的后面

小技巧 lnmp(ngxin1.8+mysql5.6+php5.6)编译安装 nginx篇

小技巧 lnmp(ngxin1.8+mysql5.6+php5.6)编译安装 nginx篇


最后保存
:wq!
让其生效
  1. [root@VM_53_238_centos openssl-1.0.1j]# source /etc/profile
复制代码

小技巧 lnmp(ngxin1.8+mysql5.6+php5.6)编译安装 nginx篇

小技巧 lnmp(ngxin1.8+mysql5.6+php5.6)编译安装 nginx篇

如果不懂就用Winscp 修改,我这里就不用再截图了 不知道的 就去帖子的开头的链接过去

接着安装zlib
  1. [root@VM_53_238_centos openssl-1.0.1j]# cd ..
  2. [root@VM_53_238_centos lnmp]# cd zlib-1.2.8
  3. [root@VM_53_238_centos zlib-1.2.8]# ./configure --prefix=/usr/local/zlib
复制代码
make完成

小技巧 lnmp(ngxin1.8+mysql5.6+php5.6)编译安装 nginx篇

小技巧 lnmp(ngxin1.8+mysql5.6+php5.6)编译安装 nginx篇


make install完成

小技巧 lnmp(ngxin1.8+mysql5.6+php5.6)编译安装 nginx篇

小技巧 lnmp(ngxin1.8+mysql5.6+php5.6)编译安装 nginx篇


好了必备的东西安装完了,现在开始重头戏了
返回上一层 解压nginx , 建立运行nginx的用户
  1. [root@VM_53_238_centos zlib-1.2.8]# cd ..
  2. [root@VM_53_238_centos lnmp]# tar -zxvf nginx-1.8.0.tar.gz
复制代码
配置

  1. [root@VM_53_238_centos nginx-1.8.0]# ./configure --prefix=/usr/local/nginx --without-http_memcached_module --user=www --group=www --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module --with-openssl=/root/download/lnmp/openssl-1.0.1j --with-zlib=/root/download/lnmp/zlib-1.2.8 --with-pcre=/root/download/lnmp/pcre-8.36
复制代码
注意:--with-openssl=/root/download/lnmp/openssl-1.0.1j --with-zlib=/root/download/lnmp/zlib-1.2.8 --with-pcre=/root/download/lnmp/pcre-8.36  是指向的是源码包解压的路径,而不是安装的路径,否则会报错,

我源码包的路径是:/root/download/lnmp/ 你们自己的包的路径一定要搞清楚


配置完成后 显示是这样的

小技巧 lnmp(ngxin1.8+mysql5.6+php5.6)编译安装 nginx篇

小技巧 lnmp(ngxin1.8+mysql5.6+php5.6)编译安装 nginx篇


make 和make install 分别如下

小技巧 lnmp(ngxin1.8+mysql5.6+php5.6)编译安装 nginx篇

小技巧 lnmp(ngxin1.8+mysql5.6+php5.6)编译安装 nginx篇

小技巧 lnmp(ngxin1.8+mysql5.6+php5.6)编译安装 nginx篇

小技巧 lnmp(ngxin1.8+mysql5.6+php5.6)编译安装 nginx篇


我们启动nginx
  1. [root@VM_53_238_centos nginx-1.8.0]# /usr/local/nginx/sbin/nginx
复制代码
然后编辑一下启动文件
  1. [root@VM_53_238_centos nginx-1.8.0]# vim /etc/rc.d/init.d/nginx
复制代码
加入一下内容
  1. #!/bin/sh

  2. #

  3. # nginx - this script starts and stops the nginx daemon

  4. #

  5. # chkconfig: - 85 15

  6. # description: Nginx is an HTTP(S) server, HTTP(S) reverse \

  7. # proxy and IMAP/POP3 proxy server

  8. # processname: nginx

  9. # config: /etc/nginx/nginx.conf

  10. # config: /usr/local/nginx/conf/nginx.conf

  11. # pidfile: /usr/local/nginx/logs/nginx.pid

  12. # Source function library.

  13. . /etc/rc.d/init.d/functions

  14. # Source networking configuration.

  15. . /etc/sysconfig/network

  16. # Check that networking is up.

  17. [ "$NETWORKING" = "no" ] && exit 0

  18. nginx="/usr/local/nginx/sbin/nginx"

  19. prog=$(basename $nginx)

  20. NGINX_CONF_FILE="/usr/local/nginx/conf/nginx.conf"

  21. [ -f /etc/sysconfig/nginx ] && . /etc/sysconfig/nginx

  22. lockfile=/var/lock/subsys/nginx

  23. make_dirs() {

  24. # make required directories

  25. user=`$nginx -V 2>&1 | grep "configure arguments:" | sed 's/[^*]*--user=\([^ ]*\).*/\1/g' -`

  26. if [ -z "`grep $user /etc/passwd`" ]; then

  27. useradd -M -s /bin/nologin $user

  28. fi

  29. options=`$nginx -V 2>&1 | grep 'configure arguments:'`

  30. for opt in $options; do

  31. if [ `echo $opt | grep '.*-temp-path'` ]; then

  32. value=`echo $opt | cut -d "=" -f 2`

  33. if [ ! -d "$value" ]; then

  34. # echo "creating" $value

  35. mkdir -p $value && chown -R $user $value

  36. fi

  37. fi

  38. done

  39. }

  40. start() {

  41. [ -x $nginx ] || exit 5

  42. [ -f $NGINX_CONF_FILE ] || exit 6

  43. make_dirs

  44. echo -n [        DISCUZ_CODE_11        ]quot;Starting $prog: "

  45. daemon $nginx -c $NGINX_CONF_FILE

  46. retval=$?

  47. echo

  48. [ $retval -eq 0 ] && touch $lockfile

  49. return $retval

  50. }

  51. stop() {

  52. echo -n [        DISCUZ_CODE_11        ]quot;Stopping $prog: "

  53. killproc $prog -QUIT

  54. retval=$?

  55. echo

  56. [ $retval -eq 0 ] && rm -f $lockfile

  57. return $retval

  58. }

  59. restart() {

  60. #configtest || return $?

  61. stop

  62. sleep 1

  63. start

  64. }

  65. reload() {

  66. #configtest || return $?

  67. echo -n [        DISCUZ_CODE_11        ]quot;Reloading $prog: "

  68. killproc $nginx -HUP

  69. RETVAL=$?

  70. echo

  71. }

  72. force_reload() {

  73. restart

  74. }

  75. configtest() {

  76. $nginx -t -c $NGINX_CONF_FILE

  77. }

  78. rh_status() {

  79. status $prog

  80. }

  81. rh_status_q() {

  82. rh_status >/dev/null 2>&1

  83. }

  84. case "$1" in

  85. start)

  86. rh_status_q && exit 0

  87. $1

  88. ;;

  89. stop)

  90. rh_status_q || exit 0

  91. $1

  92. ;;

  93. restart|configtest)

  94. $1

  95. ;;

  96. reload)

  97. rh_status_q || exit 7

  98. $1

  99. ;;

  100. force-reload)

  101. force_reload

  102. ;;

  103. status)

  104. rh_status

  105. ;;

  106. condrestart|try-restart)

  107. rh_status_q || exit 0

  108. ;;

  109. *)

  110. echo [        DISCUZ_CODE_11        ]quot;Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}"

  111. exit 2

  112. esac
复制代码
保存退出
:wq

赋予文件执行权限和开机启动 并重启nginx
  1. [root@VM_53_238_centos nginx-1.8.0]# chmod 775 /etc/rc.d/init.d/nginx   #赋予文件执行权限
  2. [root@VM_53_238_centos nginx-1.8.0]# chkconfig nginx on  #开机启动
  3. [root@VM_53_238_centos nginx-1.8.0]# /etc/rc.d/init.d/nginx restart  #重启nginx
  4. Stopping nginx: [  OK  ]
  5. Starting nginx: [  OK  ]
  6. [root@VM_53_238_centos nginx-1.8.0]#
复制代码
好了,nginx安装完了
测试一下
nginx的默认html页面 路径是 /usr/local/nginx/html/

小技巧 lnmp(ngxin1.8+mysql5.6+php5.6)编译安装 nginx篇

小技巧 lnmp(ngxin1.8+mysql5.6+php5.6)编译安装 nginx篇


编辑nginx 的默认测试页面

小技巧 lnmp(ngxin1.8+mysql5.6+php5.6)编译安装 nginx篇

小技巧 lnmp(ngxin1.8+mysql5.6+php5.6)编译安装 nginx篇

然后在浏览器上输入你的外网IP

小技巧 lnmp(ngxin1.8+mysql5.6+php5.6)编译安装 nginx篇

小技巧 lnmp(ngxin1.8+mysql5.6+php5.6)编译安装 nginx篇


大功完成
下一篇 就是PHP编译安装了、
============================================================
纯手动 不喜勿喷  这些很适合新手玩的 不过呢 建议大家多看看Linux的命令 以及语法、
小伙伴们加油

赞与谢,及时收割

如果本篇文章对您有用,请您小手一抖,给予我们最好的鼓励~~

0

主题

0

好友

-35

积分

打入冷宫[LV0]

云币
31
威望
-35
发表于 2015-11-5 15:15:16 来自手机 |显示全部楼层
小白刚开始学php,哈哈,完全看不懂。
来自: 微社区
回复

使用道具 举报

35

主题

13

好友

7754

积分

资深攻城师[LV4]

Rank: 4

云币
12238
威望
7754
发表于 2015-12-3 02:49:33 |显示全部楼层
这个帖子堪称完美,非常适合新手在搭建环境时进行参考的说明。
回复

使用道具 举报

2

主题

0

好友

445

积分

程序猿[LV2]

Rank: 2Rank: 2

云币
1565
威望
445
发表于 2017-12-2 16:53:09 |显示全部楼层
楼主的在帖子上贴出的 Nginx启动文件 代码,可能是粘贴到网络上的缘故,
" $" " 变成"[        DISCUZ_CODE_11        ]quot;"
所以文件一直出现语法错误
改过来应该就没什么问题了

(ps.因为我已开始出现的是:"syntax error near unexpected token"esac""这个错误;
后来在网上找的答案是因为不是UNIX格式,所以文件有问题
所以这份启动文件是完全自己在Linux上用vim手打的
因此也太清楚,出现语法错误跟文件格式是否有问题)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

联系我们|腾讯云平台|积分商城|腾讯云官方论坛    

GMT+8, 2020-10-23 14:29 , Processed in 1.098186 second(s), 32 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部