阿里雲伺服器上安裝nginx
轉自:https://blog.csdn.net/u014209205/article/details/78921870
在阿里雲伺服器上安裝nginx中遇到一些問題,現將步驟羅列下,
環境是:centos7.4 nginx1.12.2
1.安裝gcc
yum install gcc-c++
2.PCRE pcre-devel 安裝
PCRE(Perl Compatible Regular Expressions) 是一個Perl庫,包括 perl 相容的正則表示式庫。nginx 的 http 模組使用 pcre 來解析正則表示式,所以需要在 linux 上安裝 pcre 庫,pcre-devel 是使用 pcre 開發的一個二次開發庫。nginx也需要此庫。
命令:
yum install -y pcre pcre-devel
3.zlib 安裝
zlib 庫提供了很多種壓縮和解壓縮的方式, nginx 使用 zlib 對 http 包的內容進行 gzip ,所以需要在 Centos 上安裝 zlib 庫。
命令:
yum install -y zlib zlib-devel
4.OpenSSL 安裝
OpenSSL 是一個強大的安全套接字層密碼庫,囊括主要的密碼演算法、常用的金鑰和證書封裝管理功能及 SSL 協議,並提供豐富的應用程式供測試或其它目的使用。
nginx 不僅支援 http 協議,還支援 https(即在ssl協議上傳輸http),所以需要在 Centos 安裝 OpenSSL 庫。
yum install -y openssl openssl-devel
5.下載解壓
在nignx官網上下載,上傳到阿里雲伺服器後解壓
tar -zxvf nginx-1.12.0.tar.gz
6.安裝
首先在解壓後的檔案加下執行
./configure
也可以自定義配置。
然後再在解壓後的目錄下執行
make install 進行安裝
7.啟動
預設是安裝在/usr/local/nginx
cd /usr/local/nginx/sbin/
./nginx
指定配置檔案啟動
./nginx -c /usr/local/nginx/conf/nginx..conf
./nginx -s stop
./nginx -s quit
./nginx -s reload
8.重啟
先停止再啟動(推薦):
對 nginx 進行重啟相當於先停止再啟動,即先執行停止命令再執行啟動命令。如下:
./nginx -s quit
./nginx
重新載入配置檔案:
當 nginx的配置檔案 nginx.conf 修改後,要想讓配置生效需要重啟 nginx,使用-s reload不用先停止 ngin x再啟動 nginx 即可將配置資訊在 nginx 中生效,如下:
./nginx -s reload
9.設定開機自動重啟
即在rc.local增加啟動程式碼就可以了。
vi /etc/rc.local
增加一行 /usr/local/nginx/sbin/nginx
設定執行許可權:
chmod 755 rc.local
---------------------
作者:時光鐘擺
來源:CSDN
原文:https://blog.csdn.net/u014209205/article/details/78921870
版權宣告:本文為博主原創文章,轉載請附上博文連結!
linux下安裝阿里雲伺服器的nginx
https://blog.csdn.net/dabao87/article/details/80570050
在阿里雲伺服器上安裝nginx中遇到一些問題,現將步驟羅列下,
環境是:centos7.4 nginx1.12.2
1.安裝gcc
yum install gcc-c++
2.PCRE pcre-devel 安裝
PCRE(Perl Compatible Regular Expressions) 是一個Perl庫,包括 perl 相容的正則表示式庫。nginx 的 http 模組使用 pcre 來解析正則表示式,所以需要在 linux 上安裝 pcre 庫,pcre-devel 是使用 pcre 開發的一個二次開發庫。nginx也需要此庫。
命令:
yum install -y pcre pcre-devel
3.zlib 安裝
zlib 庫提供了很多種壓縮和解壓縮的方式, nginx 使用 zlib 對 http 包的內容進行 gzip ,所以需要在 Centos 上安裝 zlib 庫。
命令:
yum install -y zlib zlib-devel
4.OpenSSL 安裝
OpenSSL 是一個強大的安全套接字層密碼庫,囊括主要的密碼演算法、常用的金鑰和證書封裝管理功能及 SSL 協議,並提供豐富的應用程式供測試或其它目的使用。
nginx 不僅支援 http 協議,還支援 https(即在ssl協議上傳輸http),所以需要在 Centos 安裝 OpenSSL 庫。
yum install -y openssl openssl-devel
5.下載解壓
在nignx官網上下載,上傳到阿里雲伺服器後解壓
tar -zxvf nginx-1.12.0.tar.gz
6.安裝
首先執行配置
./configure
也可以自定義配置。
然後在解壓後的目錄下執行
make install
這個時候如果啟動nginx會報錯:
在centos下啟動nginx出現Failed to start nginx.service:unit not found
按照下面的步驟:
1. vim /etc/init.d/nginx
插入一下程式碼:
-
#!/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="/usr/local/nginx/sbin/nginx"
-
prog=$(basename $nginx)
-
NGINX_CONF_FILE="/usr/local/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
用命令
cd /etc/init.d
4. 依此執行以下命令
# chmod 755 /etc/init.d/nginx
# chkconfig --add nginx (注意add前面是兩個短橫線-)
5. 開啟nginx
# service nginx start
這樣的之後就表示已經成功。
成功!!!
參考:https://blog.csdn.net/u014209205/article/details/78921870
參考:https://www.cnblogs.com/ansibee/p/8087476.html
版權宣告:如果此問題解答不清楚,請加QQ群113191612諮詢 https://blog.csdn.net/songchuan0201/article/details/62037010
重啟伺服器後,nginx服務起不來了,用命令 service nginx start,報如下錯誤:
nginx: [error] open() "/alidata/server/nginx/logs/nginx.pid" failed (2: No such file or directory)
解決辦法:在logs目錄下手動建立一個 nginx.pid檔案
再次啟動nginx服務,又報下面錯誤:
nginx: [emerg] open() "/usr/local/nginx/logs/access.log" failed (21: Is a directory)
看了網上好多解決辦法,都是用 -c來指向nginx的配置檔案,但是不行,根據錯誤提示,看到access.log是一個資料夾,來到logs目錄下,發現重啟完伺服器後,access.log確實變成了資料夾,把這資料夾刪掉,重新建立一個access.log檔案, 命令:touch access.log
再次啟動nginx服務,報埠被佔用
Nginx [emerg]: bind() to 0.0.0.0:80 failed (98: Address already in use)
解決辦法:使用命令關閉佔用80埠的程式
sudo fuser -k 80/tcp
再次啟動nginx服務,成功,解決了兩個半小時。。。
---------------------
作者:小橋流水人家007
來源:CSDN
原文:https://blog.csdn.net/songchuan0201/article/details/62037010
版權宣告:本文為博主原創文章,轉載請附上博文連結!