系统相关
首页 > 系统相关> > ubuntu安装nginx教程及解决端口占用

ubuntu安装nginx教程及解决端口占用

作者:互联网

一、nginx在linux系统中的安装
1.使用远程连接工具连接linux操作系统
这里采用SSH远程连接

ssh root@ip

然后输入密码即可连接上远程服务器,如果连接不上的话,请确认服务器是否开启了远程连接权限,没有的话,需要开启才能进行远程连接。
2.安装nginx
使用apt-get命令安装

sudo apt-get install nginx

测试是否安装成功

sudo nginx -t

3.安装nginx相关依赖
第一步:安装pcre
主意安装的目录可以自选,这里安装的目录选在/user/local/src
#打开到指定目录

cd /user/local/src

#下载

wget https://netix.dl.sourceforge.net/project/pcre/pcre/8.40/pcre-8.40.tar.gz

#解压安装包

tar -zxvf pcre-8.40.tar.gz

#进入安装包目录

cd pcre-8.40

#编译安装

./configure
make && make install


#查看pcre版本

pcre-config --version

第二步:安装gcc

apt-get install gcc

#查看gcc的版本

gcc -v

第三步:安装zlib

apt-get install zlib1g-dev

第四步:安装openssl

apt-get install openssl libssl-dev

#查看openssl的版本

openssl version

二、启动nginx
1.找到nginx的可执行文件
一般是是在usr下的sbin中

cd /usr/sbin

2.启动nginx服务

./nginx

3.查看进程

ps -ef | grep nginx

 

以上部分转载自:https://blog.csdn.net/burgerh/article/details/121453229

而安装完nginx可能会出现nginx: [emerg] still could not bind()的报错如下图:

 

 

经过疯狂百度一般有两种解决方法:

1.端口真的被占用了

可以自己利用这个命令

netstat -ntlp|grep 80
[root@iZbp14dsc6whvwbrlnufnwZ sbin]# netstat -ntlp|grep 80
tcp 0 0 0.0.0.0:8086 0.0.0.0:* LISTEN 12009/java
tcp 0 0 127.0.0.1:8005 0.0.0.0:* LISTEN 12416/java
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 30903/nginx: master
tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN 12416/java
查看80的端口是否占用(nginx默认80端口)

如果我们需要去启动的话,需要先去杀死进程:kill -9 端口号

然后重新启动:./nginx

es:

# 快速停止nginx
./nginx -s stop
# 完整有序的停止nginx,这个命令会等待所有请求结束后再关闭nginx
./nginx -s quit
#执行重载命令 ./nginx -s reload

2.因为tcp6的原因(上图就是这个原因)

方法: 在etc/sysctl.conf 中追加红色字体的配置(注意需要以root身份打开这个sysctl.conf)

命令为: 

sudo vi etc/sysctl.conf

sysctl settings are defined through files in
# /usr/lib/sysctl.d/, /run/sysctl.d/, and /etc/sysctl.d/.
#
# Vendors settings live in /usr/lib/sysctl.d/.
# To override a whole file, create a new file with the same in
# /etc/sysctl.d/ and put new settings there. To override
# only specific settings, add a file with a lexically later
# name in /etc/sysctl.d/ and put new settings there.
#
# For more information, see sysctl.conf(5) and sysctl.d(5).
net.ipv4.tcp_timestamps = 0
net.ipv6.conf.all.disable_ipv6=1
net.ipv6.conf.defalult.disable=1
保存后,reboot即可!

在做完上述准备后,输入命令

curl -i http://localhost

看nginx是否启动成功

 

 

标签:pcre,sysctl,0.0,端口,nginx,conf,ubuntu,安装
来源: https://www.cnblogs.com/jyj666/p/16439728.html