教程linux CentOS 搭建nginx (详细)
Posted 天道酬勤
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了教程linux CentOS 搭建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
成功访问。
以上是关于教程linux CentOS 搭建nginx (详细)的主要内容,如果未能解决你的问题,请参考以下文章