nginx安装
1、解压
tar -zxvf nginx-1.8.0.tar.gz -C /usr/local/
2、 安装必须的依赖
yum install -y gcc gcc-c++
yum install -y pcre pcre-devel
yum install -y zlib zlib-devel
yum install -y openssl openssl-devel
yum install -y gcc gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel
3、编译安装
cd /usr/local/nginx-1.8.0/
./configure
–prefix=/usr/local/nginx
–pid-path=/var/run/nginx/nginx.pid
–lock-path=/var/lock/nginx.lock
–error-log-path=/var/log/nginx/error.log
–http-log-path=/var/log/nginx/access.log
–with-http_gzip_static_module
–http-client-body-temp-path=/var/temp/nginx/client
–http-proxy-temp-path=/var/temp/nginx/proxy
–http-fastcgi-temp-path=/var/temp/nginx/fastcgi
–http-uwsgi-temp-path=/var/temp/nginx/uwsgi
–http-scgi-temp-path=/var/temp/nginx/scgi
显示下面信息为正常完成
Configuration summary
- using system PCRE library
- OpenSSL library is not used
- md5: using system crypto library
- sha1: using system crypto library
- using system zlib library
nginx path prefix: “/usr/local/nginx”
nginx binary file: “/usr/local/nginx/sbin/nginx”
nginx configuration prefix: “/usr/local/nginx/conf”
nginx configuration file: “/usr/local/nginx/conf/nginx.conf”
nginx pid file: “/var/run/nginx/nginx.pid”
nginx error log file: “/var/log/nginx/error.log”
nginx http access log file: “/var/log/nginx/access.log”
nginx http client request body temporary files: “/var/temp/nginx/client”
nginx http proxy temporary files: “/var/temp/nginx/proxy”
nginx http fastcgi temporary files: “/var/temp/nginx/fastcgi”
nginx http uwsgi temporary files: “/var/temp/nginx/uwsgi”
nginx http scgi temporary files: “/var/temp/nginx/scgi”
make && make install
显示下面信息为正常完成
-lpthread -lcrypt -lpcre -lcrypto -lcrypto -lz
make[1]: 离开目录“/usr/local/nginx-1.8.0”
make -f objs/Makefile manpage
make[1]: 进入目录“/usr/local/nginx-1.8.0”
sed -e “s|%%PREFIX%%|/usr/local/nginx|”
-e “s|%%PID_PATH%%|/var/run/nginx/nginx.pid|”
-e “s|%%CONF_PATH%%|/usr/local/nginx/conf/nginx.conf|”
-e “s|%%ERROR_LOG_PATH%%|/var/log/nginx/error.log|”
< man/nginx.8 > objs/nginx.8
make[1]: 离开目录“/usr/local/nginx-1.8.0”
make -f objs/Makefile install
make[1]: 进入目录“/usr/local/nginx-1.8.0”
test -d ‘/usr/local/nginx’ || mkdir -p ‘/usr/local/nginx’
test -d ‘/usr/local/nginx/sbin’ || mkdir -p ‘/usr/local/nginx/sbin’
test ! -f ‘/usr/local/nginx/sbin/nginx’ || mv ‘/usr/local/nginx/sbin/nginx’ ‘/usr/local/nginx/sbin/nginx.old’
cp objs/nginx ‘/usr/local/nginx/sbin/nginx’
test -d ‘/usr/local/nginx/conf’ || mkdir -p ‘/usr/local/nginx/conf’
cp conf/koi-win ‘/usr/local/nginx/conf’
cp conf/koi-utf ‘/usr/local/nginx/conf’
cp conf/win-utf ‘/usr/local/nginx/conf’
test -f ‘/usr/local/nginx/conf/mime.types’ || cp conf/mime.types ‘/usr/local/nginx/conf’
cp conf/mime.types ‘/usr/local/nginx/conf/mime.types.default’
test -f ‘/usr/local/nginx/conf/fastcgi_params’ || cp conf/fastcgi_params ‘/usr/local/nginx/conf’
cp conf/fastcgi_params ‘/usr/local/nginx/conf/fastcgi_params.default’
test -f ‘/usr/local/nginx/conf/fastcgi.conf’ || cp conf/fastcgi.conf ‘/usr/local/nginx/conf’
cp conf/fastcgi.conf ‘/usr/local/nginx/conf/fastcgi.conf.default’
test -f ‘/usr/local/nginx/conf/uwsgi_params’ || cp conf/uwsgi_params ‘/usr/local/nginx/conf’
cp conf/uwsgi_params ‘/usr/local/nginx/conf/uwsgi_params.default’
test -f ‘/usr/local/nginx/conf/scgi_params’ || cp conf/scgi_params ‘/usr/local/nginx/conf’
cp conf/scgi_params ‘/usr/local/nginx/conf/scgi_params.default’
test -f ‘/usr/local/nginx/conf/nginx.conf’ || cp conf/nginx.conf ‘/usr/local/nginx/conf/nginx.conf’
cp conf/nginx.conf ‘/usr/local/nginx/conf/nginx.conf.default’
test -d ‘/var/run/nginx’ || mkdir -p ‘/var/run/nginx’
test -d ‘/var/log/nginx’ || mkdir -p ‘/var/log/nginx’
test -d ‘/usr/local/nginx/html’ || cp -R html ‘/usr/local/nginx’
test -d ‘/var/log/nginx’ || mkdir -p ‘/var/log/nginx’
make[1]: 离开目录“/usr/local/nginx-1.8.0”
nginx的启动
cd /usr/local/nginx/sbin/
./nginx
提示
/usr/local/nginx/logs/nginx.pid;
(1)进入 cd /usr/local/nginx/conf/ 目录,编辑配置文件nginx.conf ;
(2)在配置文件中有个注释的地方: #pid logs/nginx.pid;
(3)将注释放开,并修改为:pid /usr/local/nginx/logs/nginx.pid;
(4)在 /usr/local/nginx 目录下创建 logs 目录:mkdir /usr/local/nginx/logs
(5)启动nginx服务:/usr/local/nginx/sbin/nginx
nginx 服务器重启命令,关闭
nginx -s reload :修改配置后重新加载生效
nginx -s reopen :重新打开日志文件
nginx -t -c /path/to/nginx.conf 测试nginx配置文件是否正确
关闭nginx:
nginx -s stop :快速停止nginx
quit :完整有序的停止nginx
其他的停止nginx 方式:
ps -ef | grep nginx
kill -QUIT 主进程号 :从容停止Nginx
kill -TERM 主进程号 :快速停止Nginx
pkill -9 nginx :强制停止Nginx
启动nginx:
nginx -c /path/to/nginx.conf
nginx: [emerg] mkdir() “/var/temp/nginx/client” failed (2: No such file or directory)
是因为缺少了这个文件夹 所以创建一个即可 注意 后面的/client不需要写上 不然会报同样的错误
mkdir -p /var/temp/nginx
平滑重启nginx:
kill -HUP 主进程号
nginx反向代理(一台NGINX多台TOMCA)
upstream 名字{
server ip地址:端口号 weight=5 (权重五次后使用另一TOMCAT不填默认轮询)
server ip地址:端口号
}
server{
location /{
proxy_pass 名字;
(下面的语句不加会报nginx tomcat HTTP Status 400 – Bad Request错误)
proxy_redirect default;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
Docker nginx 开机启动
1 、vi /usr/local/nginx/conf/nginx.conf #修改此处conf文件加上daemon off;
2、docker run -t -d -p 80:80 --name mynginx jackydengjie/mynginx:0.3 /usr/local/nginx/sbin/nginx #启动要加上/usr/local/nginx/sbin/nginx启动nginx的路径