yaoningvital / blog

my blog
31 stars 4 forks source link

阿里云centos服务器安装nginx #192

Open yaoningvital opened 4 years ago

yaoningvital commented 4 years ago

原文地址:https://www.cnblogs.com/hoanfir/p/9139287.html

Nginx是一个轻便的支持高并发的HTTP和反向代理服务器,运用非常广。

假如你已经在/usr/local/安装了java环境和tomcat环境,则常常还需要搭配nginx实现代理静态服务器。

下面我们开始

1. 首先需要安装nginx依赖环境(在配置httpd服务器程序的时候同样需要这些环境)

步骤一:安装gcc-c++

yum install -y gcc-c++

步骤二:安装pcre(什么是pcre)

cd /usr/local

wget http://sourceforge.net/projects/pcre/files/pcre/8.35/pcre-8.35.tar.gz

tar -zxvf pcre-8.35.tar.gz

步骤三:安装zlib

cd /usr/local

wget http://prdownloads.sourceforge.net/libpng/zlib-1.2.8.tar.gz

tar -zxvf zlib-1.2.8.tar.gz

cd zlib-1.2.8

./configure --prefix=/usr/local/zlib-1.2.8

make && make install

步骤四:安装openssl

cd /usr/local

wget http://www.openssl.org/source/openssl-1.0.1h.tar.gz

tar -zxvf openssl-1.0.1h.tar.gz

cd openssl-1.0.1h

./config --prefix=/usr/local/openssl

make && make install(注意费时较长)

2.安装nginx

cd /usr/local

wget http://nginx.org/download/nginx-1.17.7.tar.gz

tar -zxvf nginx-1.17.7.tar.gz

cd nginx-1.17.7

./configure --with-pcre=/usr/local/pcre-8.35 --prefix=/usr/local/nginx-1.17.7 --with-http_stub_status_module --with-http_ssl_module --with-zlib=/usr/local/zlib-1.2.8 --with-openssl=/usr/local/openssl-1.0.1h

make && make install(注意费时较长)

备注:

--with-xxx 说明默认情况下是没有指定的。启用该功能。

--without-xxx 说明默认已经指定该选项。不启用该功能。

3.启动

因为我们的nginx安装在 /usr/local/nginx-1.17.7目录中,那么启动nginx的命令就是:

/usr/local/nginx-1.17.7/sbin/nginx -c /usr/local/nginx-1.17.7/conf/nginx.conf

备注:因为nginx.conf在/conf/目录下,(nginx二进制文件绝对路径/sbin/nginx,可以根据自己安装路径实际决定), 选项"-c" 可以指定配置文件路径,如果不加"-c" 选项,nginx会加载默认配置文件

4. 解决启动的错误

(A)假如启动时出现一些错误如下:

[error]open()"/usr/local/nginx-1.17.7/logs/error.log" failed (2: No such fileordirectory)

[error]open()"/usr/local/nginx-1.17.7/logs/access.log" failed (2: No such fileordirectory)

解决:

/usr/local/nginx-1.17.7/目录下mkdir logs

再使用命令/usr/local/nginx-1.17.7/sbin/nginx -c /usr/local/nginx-1.17.7/conf/nginx.conf启动

使用netstat -nultp会发现80端口被nginx:master占用了: image

如果通过公网IP访问能看到nginx启动了: image

遇到的问题

1、因为我参考的文档安装的 nginx 的版本是 1.7.9,当时在第3步启动 nginx 时,总报错 :

/usr/local/nginx-1.7.9/sbin/nginx -c failed (2: No such file or directory)

参考另一个文档安装的是nginx v1.6.2 ,也是会报上面的错误。然后我就到目录下去找,发现 nginx-1.7.9 文件夹下确实没有 sbin 文件夹,nginx-1.6.2下也 没有 sbin 文件夹, 不知道是我的网络的问题还是怎么回事。

后面我查了一下 nginx 的版本信息,用了一个比较新的版本 nginx-1.17.7 ,这个版本下有 sbin 文件夹,然后执行上面的启动 nginx 的命令就正常了。

安装成功后

nginx 安装成功后,访问阿里云服务器实例的公网IP,能看到 nginx 下面的 html 文件夹中的 index.html 文件的内容,如下图所示,证明 nginx 安装成功了。 image

到目前为止,我已经做了下面的事情: 1、成功安装了 nginx; 2、已经通过 vsftpd 工具,将我写的一个数字华容道的小游戏打包之后的文件放到了 ftp://服务器IP地址/目录下。

然后我访问 http://服务器IP地址,看到的还是上面的提示 nginx 安装成功的页面,并没有看到我的小游戏页面。怎么回事呢?

问题的原因就是,需要修改 nginx 的配置文件nginx.conf的相关配置,它将指定打开哪一个目录下的哪一个文件。具体配置见另一篇文章(https://github.com/yaoningvital/blog/issues/194)。