阿里云服务器上安装nginx

转自:https://blog.csdn.net/u014209205/article/details/78921870

在阿里云服务器上安装nginx中遇到一些问题,现将步骤罗列下,
环境是:centos7.4   nginx1.12.2
1.安装gcc
        yum install gcc-c++
2.PCRE pcre-devel 安装

        PCRE(Perl Compatible Regular Expressions) 是一个Perl库,包括 perl 兼容的正则表达式库。nginx 的 http 模块使用 pcre 来解析正则表达式,所以需要在 linux 上安装 pcre 库,pcre-devel 是使用 pcre 开发的一个二次开发库。nginx也需要此库。

        命令:
        yum install -y pcre pcre-devel
3.zlib 安装

        zlib 库提供了很多种压缩和解压缩的方式, nginx 使用 zlib 对 http 包的内容进行 gzip ,所以需要在 Centos 上安装 zlib 库。

        命令:
        yum install -y zlib zlib-devel
4.OpenSSL 安装
        OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及 SSL 协议,并提供丰富的应用程序供测试或其它目的使用。

        nginx 不仅支持 http 协议,还支持 https(即在ssl协议上传输http),所以需要在 Centos 安装 OpenSSL 库。

        yum install -y openssl openssl-devel
5.下载解压

        在nignx官网上下载,上传到阿里云服务器后解压

        tar -zxvf nginx-1.12.0.tar.gz
6.安装
        首先在解压后的文件加下执行
        ./configure
        也可以自定义配置。
        然后再在解压后的目录下执行

        make install 进行安装
7.启动
        默认是安装在/usr/local/nginx
        cd /usr/local/nginx/sbin/
        ./nginx
        指定配置文件启动
        ./nginx -c /usr/local/nginx/conf/nginx..conf
        ./nginx -s stop
        ./nginx -s quit
        ./nginx -s reload
8.重启
        先停止再启动(推荐):
        对 nginx 进行重启相当于先停止再启动,即先执行停止命令再执行启动命令。如下:
        ./nginx -s quit
        ./nginx
        重新加载配置文件:
        当 nginx的配置文件 nginx.conf 修改后,要想让配置生效需要重启 nginx,使用-s reload不用先停止 ngin x再启动 nginx 即可将配置信息在 nginx 中生效,如下:
        ./nginx -s reload
9.设置开机自动重启
        即在rc.local增加启动代码就可以了。
        vi /etc/rc.local
        增加一行 /usr/local/nginx/sbin/nginx
        设置执行权限:
        chmod 755 rc.local
---------------------
作者:时光钟摆
来源:CSDN
原文:https://blog.csdn.net/u014209205/article/details/78921870
版权声明:本文为博主原创文章,转载请附上博文链接!

linux下安装阿里云服务器的nginx

     https://blog.csdn.net/dabao87/article/details/80570050

在阿里云服务器上安装nginx中遇到一些问题,现将步骤罗列下,
环境是:centos7.4   nginx1.12.2

1.安装gcc

        yum install gcc-c++

2.PCRE pcre-devel 安装

        PCRE(Perl Compatible Regular Expressions) 是一个Perl库,包括 perl 兼容的正则表达式库。nginx 的 http 模块使用 pcre 来解析正则表达式,所以需要在 linux 上安装 pcre 库,pcre-devel 是使用 pcre 开发的一个二次开发库。nginx也需要此库。

        命令:

        yum install -y pcre pcre-devel

3.zlib 安装

        zlib 库提供了很多种压缩和解压缩的方式, nginx 使用 zlib 对 http 包的内容进行 gzip ,所以需要在 Centos 上安装 zlib 库。

        命令:

        yum install -y zlib zlib-devel

4.OpenSSL 安装

        OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及 SSL 协议,并提供丰富的应用程序供测试或其它目的使用。

        nginx 不仅支持 http 协议,还支持 https(即在ssl协议上传输http),所以需要在 Centos 安装 OpenSSL 库。

        yum install -y openssl openssl-devel

5.下载解压

        在nignx官网上下载,上传到阿里云服务器后解压

        tar -zxvf nginx-1.12.0.tar.gz

6.安装

        首先执行配置
        ./configure
        也可以自定义配置。
        然后在解压后的目录下执行

        make install

这个时候如果启动nginx会报错:

在centos下启动nginx出现Failed to start nginx.service:unit not found

按照下面的步骤:

1. vim /etc/init.d/nginx

插入一下代码:

 
  1. #!/bin/sh

  2. # nginx - this script starts and stops the nginx daemin

  3. #

  4. # chkconfig: - 85 15

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

  7. # proxy and IMAP/POP3 proxy server

  8.  
  9. # processname: nginx

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

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

  12.  
  13. # Source function library.

  14.  
  15. . /etc/rc.d/init.d/functions

  16.  
  17. # Source networking configuration.

  18.  
  19. . /etc/sysconfig/network

  20.  
  21. # Check that networking is up.

  22.  
  23. [ "$NETWORKING" = "no" ] && exit 0

  24.  
  25. nginx="/usr/local/nginx/sbin/nginx"

  26.  
  27. prog=$(basename $nginx)

  28.  
  29. NGINX_CONF_FILE="/usr/local/nginx/conf/nginx.conf"

  30.  
  31. lockfile=/var/lock/subsys/nginx

  32.  
  33. start() {

  34.  
  35. [ -x $nginx ] || exit 5

  36.  
  37. [ -f $NGINX_CONF_FILE ] || exit 6

  38.  
  39. echo -n $"Starting $prog: "

  40.  
  41. daemon $nginx -c $NGINX_CONF_FILE

  42.  
  43. retval=$?

  44.  
  45. echo

  46.  
  47. [ $retval -eq 0 ] && touch $lockfile

  48.  
  49. return $retval

  50.  
  51. }

  52.  
  53.  
  54. stop() {

  55.  
  56. echo -n $"Stopping $prog: "

  57.  
  58. killproc $prog -QUIT

  59.  
  60. retval=$?

  61.  
  62. echo

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

  65.  
  66. return $retval

  67.  
  68. }

  69.  
  70.  
  71.  
  72. restart() {

  73.  
  74. configtest || return $?

  75.  
  76. stop

  77.  
  78. start

  79.  
  80. }

  81.  
  82.  
  83. reload() {

  84.  
  85. configtest || return $?

  86.  
  87. echo -n $"Reloading $prog: "

  88.  
  89. killproc $nginx -HUP

  90.  
  91. RETVAL=$?

  92.  
  93. echo

  94.  
  95. }

  96.  
  97. force_reload() {

  98.  
  99. restart

  100.  
  101. }

  102.  
  103.  
  104. configtest() {

  105.  
  106. $nginx -t -c $NGINX_CONF_FILE

  107.  
  108. }

  109.  
  110.  
  111.  
  112. rh_status() {

  113.  
  114. status $prog

  115.  
  116. }

  117.  
  118.  
  119. rh_status_q() {

  120.  
  121. rh_status >/dev/null 2>&1

  122.  
  123. }

  124.  
  125. case "$1" in

  126.  
  127. start)

  128.  
  129. rh_status_q && exit 0

  130. $1

  131. ;;

  132.  
  133. stop)

  134.  
  135.  
  136. rh_status_q || exit 0

  137. $1

  138. ;;

  139.  
  140. restart|configtest)

  141. $1

  142. ;;

  143.  
  144. reload)

  145. rh_status_q || exit 7

  146. $1

  147. ;;

  148.  
  149.  
  150. force-reload)

  151. force_reload

  152. ;;

  153. status)

  154. rh_status

  155. ;;

  156.  
  157.  
  158. condrestart|try-restart)

  159.  
  160. rh_status_q || exit 0

  161. ;;

  162.  
  163. *)

  164.  
  165. echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}"

  166. exit 2

  167.  
  168. esac

用命令

cd /etc/init.d

4. 依此执行以下命令

# chmod 755 /etc/init.d/nginx

# chkconfig --add nginx   (注意add前面是两个短横线-)

5. 开启nginx

# service nginx start

这样的之后就表示已经成功。

成功!!!

参考:https://blog.csdn.net/u014209205/article/details/78921870

参考:https://www.cnblogs.com/ansibee/p/8087476.html

版权声明:如果此问题解答不清楚,请加QQ群113191612咨询 https://blog.csdn.net/songchuan0201/article/details/62037010

重启服务器后,nginx服务起不来了,用命令 service nginx start,报如下错误:

nginx: [error] open() "/alidata/server/nginx/logs/nginx.pid" failed (2: No such file or directory)

解决办法:在logs目录下手动创建一个 nginx.pid文件

再次启动nginx服务,又报下面错误:

nginx: [emerg] open() "/usr/local/nginx/logs/access.log" failed (21: Is a directory)


看了网上好多解决办法,都是用 -c来指向nginx的配置文件,但是不行,根据错误提示,看到access.log是一个文件夹,来到logs目录下,发现重启完服务器后,access.log确实变成了文件夹,把这文件夹删掉,重新创建一个access.log文件, 命令:touch access.log

再次启动nginx服务,报端口被占用

Nginx [emerg]: bind() to 0.0.0.0:80 failed (98: Address already in use)


解决办法:使用命令关闭占用80端口的程序

sudo fuser -k 80/tcp


再次启动nginx服务,成功,解决了两个半小时。。。
---------------------
作者:小桥流水人家007
来源:CSDN
原文:https://blog.csdn.net/songchuan0201/article/details/62037010
版权声明:本文为博主原创文章,转载请附上博文链接!

猜你喜欢

转载自blog.csdn.net/y19910825/article/details/83417966