博主最近在安裝Nginx,雖然之前安裝過,但是沒有記錄安裝過程,導致現在安裝過程中遇到坑,現記錄一下,希望能幫助到你。
1:安裝編譯工具及庫文件
yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel pcre-devel
gcc、gcc-c++ # 主要用來進行編譯相關使用
openssl、openssl-devel # 一般當配置https服務的時候就需要這個了
zlib、zlib-devel # 主要用於文件的解壓縮
pcre、pcre-devel # Nginx的rewrite模塊和HTTP核心模塊會用到PCRE正則表達式語法
make # 遍歷
make install # 安裝
2:創建nginx目錄
cd /usr/local mkdir nginx
cd nginx
3:下載並解壓nginx
cd /usr/local/ngin wget https://nginx.org/download/nginx-1.14.2.tar.gz #下載 tar -zxvf nginx-1.6.2.tar.gz #解壓
4:進入安裝包目錄
cd nginx-1.14.2
5:編譯安裝nginx,默認安裝到 /usr/local/nginx中
./configure make && make install
6:進入上層nginx目錄
cd /usr/local/nginx
7:由於之前用docker安裝過tomcat所以,需要將nginx配置反向代理,修改nginx.conf
cd /usr/local/nginx/conf vim nginx.conf
監聽localhost端口,重定向到8080(docker安裝tomcat請參照博主其他文章)
location / { proxy_set_header Host $Host; proxy_set_header X-Forward-For $remote_addr; proxy_pass http://127.0.0.1:8080; }
8:保存文件
esc :wq
9:查看nginx.conf配置是否正確
/usr/local/nginx/sbin/nginx -t
10:啟動,重啟,停止nginx
cd /usr/local/nginx/sbin/ ./nginx #啟動 ./nginx -s stop #停止 ./nginx -s quit #退出 ./nginx -s reload #重啟 修改配置后重新加載生效
./nginx -s reopen :重新打開日志文件
./nginx -s quit
:此方式停止步驟是待nginx進程處理任務完畢進行停止。./nginx -s stop
:此方式相當於先查出nginx進程id再使用kill命令強制殺掉進程。
啟動方法二
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
停止方法二
ps -ef|grep nginx #查詢進程號 kill -QUIT 主進程號 #從容停止 kill -TERM 主進程號 #快速停止 kill -9 主進程號 #強制停止
11:訪問外網ip(注意如果是阿里雲服務器需要先配置安全組規則,博主已添加好了)
12:開機自啟動nginx(看個人喜好)
vi /etc/rc.local 增加一行 /usr/local/nginx/sbin/nginx
13:設置執行權限
chmod 755 rc.local
14:啟動方式二,制定配置文件
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
15:docker啟動tomcat
docker run --name tomcat -p 8081:8080 -v /usr/local/tomcat/webapps:/usr/local/tomcat/webapps -v /usr/local/tomcat/logs:/usr/local/tomcat/logs -d tomcat:latest
參考地址:https://www.cnblogs.com/ctrl96/p/10556618.html
錯誤:nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
解決方案:80端口被占用,
需要解除占用
查看端口
netstat -ntlp
殺死進程
kill 6751
之后重啟nginx
參考地址:https://www.jianshu.com/p/8f6a42fb0654
成功訪問。