Nginx安装
操作系统:Alibaba Cloud Linux 3.2104 LTS
安装编译工具及库文件
yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel
安装PCRE
PCRE 作用是让 Nginx 支持 Rewrite 功能,如果安装过PCRE可以跳过该步骤,可用下面命令输出版本号代表已安装,可跳过该步骤
pcre-config --version
- 下载安装路径可以自定义,这里我下载到/usr/local/src/
cd /usr/local/src/
- 开始下载安装包
wget http://downloads.sourceforge.net/project/pcre/pcre/8.35/pcre-8.35.tar.gz
- 解压安装包
tar zxvf pcre-8.35.tar.gz
- 编译安装
./configure
make && make install
- 查看pcre版本
pcre-config --version
输出版本号则代表安装成功
安装Nginx
可以在个人电脑上下载安装包上传到服务器也可以直接在服务器在线下载,这里我直接用在线下载的方式,已有安装包可跳过下载步骤。
nginx下载地址:https://nginx.org/en/download.html
- 下载nginx安装包到服务器,这里我是下载到/usr/local/src/目录下(ps:安装目录随意)。
cd /usr/local/src/
wget http://nginx.org/download/nginx-1.6.2.tar.gz
- 解压安装包,并进到该目录
tar zxvf nginx-1.6.2.tar.gz
cd nginx-1.6.2
- 编译安装
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-pcre=/usr/local/src/pcre-8.35
这一步有的会提示这个,有的不会
nginx error log file:"usr/local/nginx/logs/error.log"(提示这个可以忽略)
继续往下执行make、make install命令
make
make install
执行make和make install命令时我遇到的俩个错误在这里记录下解决方式
第一个错误
src/core/ngx_murmurhash.c:37:11: 错误:this statement may fall through [-Werror=implicit-fallthrough=] h ^= data[2]
解决方式:进入到解压的nginx目录下,找到objs文件夹,并进入,打开文件Makefile,找到这句代码
CFLAGS = -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g
解决问题的参考链接
-Werror: gcc将所有的警告当成错误进行处理把这行内容中的 “-Werror”去掉
第二个错误
src/os/unix/ngx_user.c:35:7: error: ‘struct crypt_data’ has no member named ‘current_salt’
解决方式:进入到src/os/unix/目录下,打开ngx_user.c文件把里面这行代码注释掉
cd.current_salt[0] = ~salt[0];
- 查看nginx版本
/usr/local/nginx/sbin/nginx -v
输出如下所示
- 配置nginx配置文件(每个人情况不一样故此省略,详细配置可自行查阅也可以使用默认配置) 并检查nginx配置文件是否正确
/usr/local/nginx/sbin/nginx -t
6. 启动nginx
/usr/local/nginx/sbin/nginx
- 访问站点,验证是否成功(未配置域名前一般都是ip:端口号)
访问前一定要先把配置的端口放开,否则会被拦截
截止这里Nginx安装配置结束。
附上Nginx常用命令
(xxxxx/=你Nginx的安装目录)
xxxxx/nginx:启动
xxxxx/nginx -s stop:停止(等同于直接杀死进程)
xxxxx/nginx -s quit:平滑停止Nginx,处理完当前请求后关闭。
xxxxx/nginx -s reload:平滑重载Nginx,加载新的配置文件而不中断服务。