阿里雲伺服器Ubuntu安裝nginx-1.12.2
下載nginx-1.12.2
官方Nginx 的下載頁面:
http://nginx.org/en/download.html
nginx依賴以下一些軟體庫,在安裝之前請確保linux伺服器安裝了這些軟體庫,它們包括:gcc,openssl,zlib,pcre
-
1、通過dpkg -l|grep 命令查詢是否已安裝*
-
2、安裝
sudo apt-get install libpcre3 libpcre3-dev
sudo apt-get install zlib1g.dev
sudo apt-get install openssl libssl-dev
安裝nginx(通過原始碼包安裝)
一、下載nginx-1.12.2
可以直接在伺服器下載(windows版本的區分32位與64位,ubuntu(linux)版本的不區分)
wget http://nginx.org/download/nginx-1.12.2.tar.gz
或者可以到我的共享雲盤下載
http://yunpan.cn/QaIskk4i6LrrR 訪問密碼 cc22
二、解壓
我一般都會把檔案下載到/home/programfile
因此nginx的tar檔案也在這個目錄下
tar zxvf nginx-1.12.2.tar.gz
cd nginx-1.12.2
安裝指定資料夾
./configure --prefix=/usr/local/nginx `` * 如果報錯的話,如下的錯誤:
./configure: error: SSL modules require the OpenSSL library. You can either do not enable the modules, or install the OpenSSL library into the system, or build the OpenSSL library statically from the source with nginx by using --with-openssl=option.
代表依賴的OpenSSL library包還沒有安裝(上面阿里雲提供的sh指令碼少了這個library依賴,這裡我們自己下載安裝) 所以先下載依賴包,執行以下命令,安裝該OpenSSL library ```linux apt-get update apt-get install openssl libssl-dev
如果報錯PCRE library沒有安裝,則下載安裝
apt-get install libpcre3 libpcre3-dev
這樣的話缺少的依賴包安裝好了,就可以繼續安裝nginx了
cd /home/programfile/nginx-1.12.2
./configure --prefix=/usr/local/nginx
三、編譯,安裝
make -jn (n = cpu核心x2)的多執行緒編譯的引數
我的伺服器是2核的,所以用的是make -j4 (所以你的是x核,那麼這裡就是make -j2x)
make -j4
執行安裝
make install
四、執行 用-t引數驗證下是否正常
root@iZ8vbi7xemc73qbxus0g1dZ:/usr/local/nginx# ./sbin/nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
啟動nginx
/usr/local/nginx/sbin/nginx
- 如果更改了配置就要重啟Nginx,要先關閉Nginx再開啟?不是的,可以向Nginx 傳送訊號,平滑重啟。
/usr/local/nginx/sbin/nginx -s reload
五、測試驗證
安裝成功後 /usr/local/nginx 目錄下有四個子目錄分別是:conf、html、logs、sbin 。 其中 Nginx 的配置檔案存放於 conf/nginx.conf,Nginx 只有一個程式檔案位於 sbin 目錄下的 nginx 檔案。 確保系統的 80 埠沒被其他程式佔用,執行 sbin/nginx 命令來啟動 Nginx,開啟瀏覽器訪問此機器的 IP,如果瀏覽器出現 Welcome to nginx! 則表示 Nginx 已經安裝並執行成功。
六、安裝service服務
#! /bin/sh
### BEGIN INIT INFO
# Provides: nginx
# Required-Start: $all
# Required-Stop: $all
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: starts the nginx web server
# Description: starts nginx using start-stop-daemon
### END INIT INFO
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
DAEMON=/usr/local/nginx/sbin/nginx
DAEMON_OPTS='-c /usr/local/nginx/conf/nginx.conf'
NAME=nginx
DESC=nginx
test -x $DAEMON || exit 0
# Include nginx defaults if available
if [ -f /etc/default/nginx ] ; then
. /etc/default/nginx
fi
set -e
case "$1" in
start)
echo -n "Starting $DESC: "
start-stop-daemon --start --quiet --pidfile /var/run/nginx.pid --exec $DAEMON -- $DAEMON_OPTS
echo "$NAME."
;;
stop)
echo -n "Stopping $DESC: "
start-stop-daemon --stop --quiet --pidfile /var/run/nginx.pid --exec $DAEMON
echo "$NAME."
;;
restart|force-reload)
echo -n "Restarting $DESC: "
start-stop-daemon --stop --quiet --pidfile /var/run/nginx.pid --exec $DAEMON
sleep 1
start-stop-daemon --start --quiet --pidfile /var/run/nginx.pid --exec $DAEMON -- $DAEMON_OPTS
echo "$NAME."
;;
reload)
echo -n "Reloading $DESC configuration: "
start-stop-daemon --stop --signal HUP --quiet --pidfile /var/run/nginx.pid \
--exec $DAEMON
echo "$NAME."
;;
configtest)
$DAEMON -t $DAEMON_OPTS
;;
*)
N=/etc/init.d/$NAME
echo "Usage: $N {start|stop|restart|configtest|force-reload}" >&2
exit 1
;;
esac
exit 0
這個服務用來在修改配置檔案後,驗證配置檔案是否正確
service nginx configtest
修改配置檔案後,並且驗證配置檔案正確,可以不用停止服務,直接重新載入配置檔案即可
service nginx reload
傳送門: CentOs安裝nginx,以及新增系統服務: https://blog.csdn.net/zml3721/article/details/62037920?winzoom=1