部署需要用到的工具:
1、xshell用來連結服務器並操作linux服務器,mac用戶可以選擇final shell代替
2、當然是服務器了
安裝步驟:(以下所有操作都通過linux命令完成)
1、mkdir /usr/local/nginx 命令在usr/local目錄創建nginx目錄,nginx目錄名可自定義
2、cd /usr/local/nginx 進入剛創建的nginx目錄並執行 wget http://nginx.org/download/nginx-1.17.10.tar.gz獲取壓縮包,下載其他版本可直接修改連結版本號1.17.10 => 對應版本數字
3、tar -zxvf nginx-1.17.10.tar.gz 解壓下載的壓縮包nginx-1.17.10.tar.gz(這個名字同wget獲取的壓縮包名)
4、cd nginx-1.17.10進入剛解壓的文件夾,ll列出文件即可看到文件夾裡面有待會要用到的configure文件
5、yum -y install gcc gcc-c++ automake pcre pcre-devel zlib zlib-devel open openssl-devel全局安裝nginx運行用到的所有依賴
6、./configure --prefix=/usr/local/nginx 在當前打開的nginx-1.17.10文件夾中執行configure文件並通過prefix參數指定nginx編譯後的文件存放目錄
7、make && make install安裝編譯nginx源碼為可執行文件
8、為nginx配置任何目錄下都能執行service nginx start/service nginx stop/service nginx reload等服務,不覺得麻煩的也可以每次都手動/usr/local/nginx/sbin/nginx start來啟動nginx。
vim /etc/init.d/nginx創建nginx文件並按i插入以下內容:
#!/bin/bash
# chkconfig:235 85 15
# description: Nginx is an HTTP server
. /etc/rc.d/init.d/functions
start() {
echo "Start..."
/usr/local/nginx/sbin/nginx &> /dev/null
if [ $? -eq 0 ];then
echo "Start successful!"
else
echo "Start failed!"
fi
}
stop() {
if killproc nginx -QUIT ;then
echo "Stopping..."
fi
}
restart() {
stop
sleep 1
start
}
reload() {
killproc nginx -HUP
echo "Reloading..."
}
configtest() {
/usr/local/nginx/sbin/nginx -t
}
case $1 in
start)
start ;;
stop)
stop ;;
restart)
restart ;;
reload)
reload ;;
configtest)
configtest ;;
*)
echo "Usage: nginx {start|stop|restart|reload|configtest}"
;;
esac
輸完可以按esc鍵推出編輯並通過輸入:wq!強制保存並退出編輯模式
9、chmod +x /etc/init.d/nginx給這個文件可執行權限
10、chkconfig --add nginx 將nginx添加隻服務管理 列表
11、chkconfig nginx on 設置開機自啟nginx
12、groupadd -r nginx創建新的工作組nginx並添加改組信息到系統文件
13、useradd -r -g nginx nginx建立系統帳號nginx並指定所屬分組nginx
14、service nginx start啟動nginx,並通過ps -ef | grep nginx即可查看正在啟動的nginx進程,有響應代表啟動成功,瀏覽器輸入服務器公網ip即可看到nginx響應的welcome頁面
常見問題:
nginx啟動後輸入公網ip訪問網站還是每響應?
解決方案一:firewall-cmd --zone=public --add-port=80/tcp --permanent 防火牆放行80端口
firewall-cmd --reload 防火牆重啟
解決方案二:服務器管理後台搜索進入安全組設置並配置80端口規則(推薦如下)
剩餘的nginx配置請查看官方文檔,完。