【教程】linux安装nginx(详细)

 

 

  博主最近在安装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   #解压

 

或者mginx下载地址:http://nginx.org/download/ (将下载的nginx导入到服务器中)  

 

4:进入安装包目录

cd nginx-1.14.2

  

5:编译安装nginx,默认安装到 /usr/local/nginx中

./configure --prefix=/usr/local/nginx

make && make install

 

如果出现以下情况,需要安装gcc

yum -y install gcc

 

 

如果还出现这种情况

 

 

yum -y install make zlib-devel gcc-c++ libtool openssl openssl-devel

 

 

 

nginx ./configure 没有生成sbin:https://blog.csdn.net/qq_36813879/article/details/108725008

 

 

 

 

 

nginx 安装:https://blog.51cto.com/favccxx/1620159

 

 

 

 

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;
	}

 

静态资源配置访问

server {
        listen       30222;
        server_name  localhost;

        location /test{
            alias   /test;
            autoindex on; 允许浏览器访问
        }
}

 

  root和alias区别:https://www.cnblogs.com/qingshan-tang/p/12763522.html

  nginx配置访问静态资源:https://www.cnblogs.com/cnblog-long/p/11690234.html

 

8:保存文件

esc

:wq

 

9:查看nginx.conf配置是否正确

/usr/local/nginx/sbin/nginx -t

  

 

 

nginx权限问题failed(13:Permission denied):https://www.cnblogs.com/xiaohuiduan/p/9867656.html

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

 

成功访问。

 

posted @ 2019-09-19 00:12  -天道酬勤-  阅读(8609)  评论(0编辑  收藏  举报