系统环境:centos7
nginx版本:nginx1.15.2
下载地址:http://nginx.org/download/nginx-1.15.2.tar.gz
安装环境
首先由于nginx的一些模块依赖一些lib库,所以在安装nginx之前,必须先安装这些lib库,这些依赖库主要有g++、gcc、openssl-devel、pcre-devel和zlib-devel 所以执行如下命令安装
$ yum install gcc-c++
$ yum install pcre pcre-devel
$ yum install zlib zlib-devel
$ yum install openssl openssl--devel
安装nginx
echo "---install nginx---"
#下载安装nginx-1.15.2.tar.gz
tar -zxvf nginx-1.15.2.tar.gz #解压后会在当前目录中生成一个nginx-1.15.2目录
#使用--prefix参数指定nginx安装的目录,make、make install安装
cd nginx-1.15.2
./configure --prefix=/usr/local/nginx --with-http_ssl_module #此参数可以不指定,默认安装的位置 就是/usr/logcal,http_ssl_module为支持ssl
make
make install
#如果没有报错,则安装完成
#查找nginx的安装目录
whereis nginx
安装完毕后,进入安装后目录(/usr/local/nginx)便可以启动或停止它了。
nginx其他相关操作
nginx的默认配置文件为 /usr/local/nginx/conf/nginx.conf
1.检查配置文件是否正确
2.查看nginx编译版本
3.nginx启动
/usr/local/nginx/sbin/nginx
用上述命令启动nginx,默认使用配置文件为 /usr/local/nginx/conf/nginx.conf,也可启动时指定配置文件位置:
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
4.nginx关闭
/usr/local/nginx/sbin/nginx -s stop
5.nginx 重启
/usr/local/nginx/sbin/nginx -s reload
离线安装脚本:
需下载安装包:zlib-1.2.11.tar.gz、pcre-8.42.tar.gz、nginx-1.15.2.tar.gz
#!/bin/bash
echo "----install nginx----"
# Install zlib for nginx
echo "---install zlib for nginx---"
ng_target="/data"
pwd_path=`pwd`
tar -xvf zlib-1.2.11.tar.gz -C $ng_target
cd $ng_target/zlib-1.2.11
./configure
make
sudo make install
cd $pwd_path
# Install pcre for nginx
echo "----install pcre for nginx----"
tar -xvf pcre-8.42.tar.gz -C $ng_target
cd $ng_target/pcre-8.42
./configure
make
sudo make install
cd $pwd_path
# Install nginx
echo "----nginx----"
tar -xvf nginx-1.15.2.tar.gz -C $ng_target
cd $ng_target/nginx-1.15.2
./configure
make
sudo make install
cd $pwd_path
echo "----config nginx----"
sudo cp nginx.conf /usr/local/nginx/conf/nginx.conf
#sudo /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
echo "----add boot-start----"
cat>/lib/systemd/system/nginx.service<<EOF
[Unit]
Description=nginx
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s stop
PrivateTmp=true
[Install]
WantedBy=multi-user.target
EOF
systemctl enable nginx.service
systemctl start nginx.service
echo "----nginx service started----"