nginx安装的个人最佳实践
- 以nginx-1.20.1.tar.gz为例(本人是根据自己上传的安装包上传处理)
- 1.首先,我将安装包上传至 **/opt/app** 目录,如下所示
- 2.其次,进行解压:**tar -zxvf nginx-1.20.1.tar.gz**
- 3.解压之后得到文件夹 **nginx-1.20.1**,我将这个文件夹修改命名成 **nginx**,执行此命令即可:**mv nginx-1.20.1 nginx**,同时进入nginx目录:cd nginx/
- 4.在进行编译之前,需要安装以下依赖,如果没有yum指令,可自行百度对应依赖(zlib、open-ssl、pcre)的安装方式,这些都是nginx正常运行以及配置https所需要的
- 5.接着配置https需要的模块(在nginx目录下执行):./configure --prefix=/opt/app/nginx --with-http_ssl_module --with-http_stub_status_module
- 6.接着再进行编译:make & make install
- 7.编译完成后,看nginx目录下是否有 logs 目录,没有的话可手动创建一个(运行监控所需):mkdir logs
- 8.最后,进入 sbin目录:cd sbin/,启动 nginx :./nginx
- 9.如何配置nginx全局命令?
以nginx-1.20.1.tar.gz为例(本人是根据自己上传的安装包上传处理)
1.首先,我将安装包上传至 /opt/app 目录,如下所示
2.其次,进行解压:tar -zxvf nginx-1.20.1.tar.gz
3.解压之后得到文件夹 nginx-1.20.1,我将这个文件夹修改命名成 nginx,执行此命令即可:mv nginx-1.20.1 nginx,同时进入nginx目录:cd nginx/
4.在进行编译之前,需要安装以下依赖,如果没有yum指令,可自行百度对应依赖(zlib、open-ssl、pcre)的安装方式,这些都是nginx正常运行以及配置https所需要的
yum -y install zlib-devel
yum -y install openssl openssl-devel
yum -y install pcre-devel
5.接着配置https需要的模块(在nginx目录下执行):./configure --prefix=/opt/app/nginx --with-http_ssl_module --with-http_stub_status_module
6.接着再进行编译:make & make install
7.编译完成后,看nginx目录下是否有 logs 目录,没有的话可手动创建一个(运行监控所需):mkdir logs
8.最后,进入 sbin目录:cd sbin/,启动 nginx :./nginx
9.如何配置nginx全局命令?
1.创建文件:vim /etc/init.d/nginx,将以下代码复制进去(安装目录按自己的进行调整:nginx以及NGINX_CONF_FILE)
#!/bin/sh
# nginx - this script starts and stops the nginx daemin
#
# chkconfig: - 85 15
# description: Nginx is an HTTP(S) server, HTTP(S) reverse \
# proxy and IMAP/POP3 proxy server
# processname: nginx
# config: /usr/local/nginx/conf/nginx.conf
# pidfile: /usr/local/nginx/logs/nginx.pid
# Source function library.
. /etc/rc.d/init.d/functions
# Source networking configuration.
. /etc/sysconfig/network
# Check that networking is up.
[ "$NETWORKING" = "no" ] && exit 0
nginx="/opt/app/nginx/sbin/nginx"
prog=$(basename $nginx)
NGINX_CONF_FILE="/opt/app/nginx/conf/nginx.conf"
lockfile=/var/lock/subsys/nginx
start() {
[ -x $nginx ] || exit 5
[ -f $NGINX_CONF_FILE ] || exit 6
echo -n $"Starting $prog: "
daemon $nginx -c $NGINX_CONF_FILE
retval=$?
echo
[ $retval -eq 0 ] && touch $lockfile
return $retval
}
stop() {
echo -n $"Stopping $prog: "
killproc $prog -QUIT
retval=$?
echo
[ $retval -eq 0 ] && rm -f $lockfile
return $retval
}
restart() {
configtest || return $?
stop
start
}
reload() {
configtest || return $?
echo -n $"Reloading $prog: "
killproc $nginx -HUP
RETVAL=$?
echo
}
force_reload() {
restart
}
configtest() {
$nginx -t -c $NGINX_CONF_FILE
}
rh_status() {
status $prog
}
rh_status_q() {
rh_status >/dev/null 2>&1
}
case "$1" in
start)
rh_status_q && exit 0
$1
;;
stop)
rh_status_q || exit 0
$1
;;
restart|configtest)
$1
;;
reload)
rh_status_q || exit 7
$1
;;
force-reload)
force_reload
;;
status)
rh_status
;;
condrestart|try-restart)
rh_status_q || exit 0
;;
*)
echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}"
exit 2
esac
2.修改文件权限:chmod 755 /etc/init.d/nginx
3.添加环境变量:将安装的目录下的 ./nginx/sbin 添加到 /etc/profile 文件中
vim /etc/profile
在文件的最后加上:
PATH=$PATH:/opt/app/nginx/sbin
export PATHi
保存退出