Linux下的Nginx安裝(開機自啟動)
阿新 • • 發佈:2019-02-06
1.在安裝Nginx前,需要確保系統安裝了g++,gcc, openssl-devel、pcre-devel和zlib-devel軟體。安裝必須軟體:
[java] view plain copy print?- yum -y install zlib zlib-devel openssl openssl--devel pcre pcre-devel
2.Nginx安裝
在centos下執行yum search nginx可以檢視系統自帶的Nginx,執行 yum install nginx可以快捷的安裝Nginx。但由於系統自帶的Nginx的版本太低,所以一般我們不這麼安裝。不過在我們執行yum install nginx可以看到Nginx依賴包。
2.1安裝Nginx的依賴包
[java] view plain copy print?- yum install GeoIP gd libXpm libxslt
2.2 安裝Nginx
1.上傳我們剛下載的nginx的tar包到Linux伺服器上,並將tar包移動到/usr/local目錄下
[java] view plain copy print?- mv nginx-1.7.3.tar.gz /usr/local
2.解壓安裝
進入/usr/local目錄下(cd /usr/local)解壓Nginx的安裝包
[java] view plain- tar –zxv nginx-1.7.3.tar.gz
3.Nginx配置
為了方便起見,將nginx-1.7.3重新命名為nginx
[java] view plain copy print?- cd nginx
- ./configure
- make
- make install
2.3驗證
檢視nginx安裝路徑(whereis nginx)並啟動Nginx( /usr/local/nginx/sbin/nginx) [java] view plain copy print?-
whereis nginx
- /usr/local/nginx/sbin/nginx
3.開機自動啟動Nginx
這裡使用的是編寫shell指令碼的方式來處理,vi /etc/init.d/nginx輸入下面的程式碼 [java] view plain copy print?- #!/bin/bash
- # nginx Startup script for the Nginx HTTP Server
- # it is v.0.0.2 version.
- # chkconfig: - 8515
- # description: Nginx is a high-performance web and proxy server.
- # It has a lot of features, but it's not for everyone.
- # processname: nginx
- # pidfile: /var/run/nginx.pid
- # config: /usr/local/nginx/conf/nginx.conf
- nginxd=/usr/local/nginx/sbin/nginx
- nginx_config=/usr/local/nginx/conf/nginx.conf
- nginx_pid=/var/run/nginx.pid
- RETVAL=0
- prog="nginx"
- # Source function library.
- . /etc/rc.d/init.d/functions
- # Source networking configuration.
- . /etc/sysconfig/network
- # Check that networking is up.
- [ ${NETWORKING} = "no" ] && exit 0
- [ -x $nginxd ] || exit 0
- # Start nginx daemons functions.
- start() {
- if [ -e $nginx_pid ];then
- echo "nginx already running...."
- exit 1
- fi
- echo -n $"Starting $prog: "
- daemon $nginxd -c ${nginx_config}
- RETVAL=$?
- echo
- [ $RETVAL = 0 ] && touch /var/lock/subsys/nginx
- return $RETVAL
- }
- # Stop nginx daemons functions.
- stop() {
- echo -n $"Stopping $prog: "
- killproc $nginxd
- RETVAL=$?
- echo
- [ $RETVAL = 0 ] && rm -f /var/lock/subsys/nginx /var/run/nginx.pid
- }
- # reload nginx service functions.
- reload() {
- echo -n $"Reloading $prog: "
- #kill -HUP `cat ${nginx_pid}`
- killproc $nginxd -HUP
- RETVAL=$?
- echo
- }
- # See how we were called.
- case"$1" in
- start)
- start
- ;;
- stop)
- stop
- ;;
- reload)
- reload
- ;;
- restart)
- stop
- start
- ;;
- status)
- status $prog
- RETVAL=$?
- ;;
- *)
- echo $"Usage: $prog {start|stop|restart|reload|status|help}"
- exit 1
- esac
- exit $RETVAL
:wq 儲存並退出
設定檔案的訪問許可權
chmod a+x /etc/init.d/nginx (a+x ==> all user can execute 所有使用者可執行) [java] view plain copy print?
- chmod a+x /etc/init.d/nginx
這樣在控制檯就很容易的操作nginx了:檢視Nginx當前狀態、啟動Nginx、停止Nginx、重啟Nginx… [java] view plain copy print?
- /etc/init.d/nginx status
- /etc/init.d/nginx start
- /etc/init.d/nginx stop
- /etc/init.d/nginx restart
同樣的修改了nginx的配置檔案nginx.conf,也可以使用上面的命令重新載入新的配置檔案並執行,可以將此命令加入到rc.local檔案中,這樣開機的時候nginx就預設啟動了
vi /etc/rc.local
加入一行 /etc/init.d/nginx start 儲存並退出,下次重啟會生效。