前言:
今天我们对“centosnginx启动失败”大体比较重视,姐妹们都想要分析一些“centosnginx启动失败”的相关内容。那么小编也在网络上网罗了一些对于“centosnginx启动失败””的相关知识,希望小伙伴们能喜欢,同学们快快来了解一下吧!CentOS 7 安装Nginx
Nginx (engine x) 是一个高性能的HTTP和反向代理服务,也是一个IMAP/POP3/SMTP服务。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的,第一个公开版本0.1.0发布于2004年10月4日。
其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。2011年6月1日,nginx 1.0.4发布。
Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。
CentOS 7 安装Nginx1.安装准备
首先由于nginx的一些模块依赖一些lib库,所以在安装nginx之前,必须先安装这些lib库,这些依赖库主要有g++、gcc、openssl-devel、pcre-devel和zlib-devel 所以执行如下命令安装 # yum install gcc # yum install g++ # yum install pcre pcre-devel # yum install zlib zlib-devel # yum install openssl openssl--devel2.安装Nginx
安装之前,最好检查一下是否已经安装有nginx # find -name nginx 如果系统已经安装了nginx,那么就先卸载 # yum remove nginx3.新建一个用户
需要新建一个用户,禁止使用root用户进行操作 # useradd -d ucenter # passwd ucenter # cd /ucenter # mkdir soft # chown ucenter:ucenter /ucenter/ -R4.安装在线下载包
在线安装wget包 # yum -y install wget5.在soft目录下直接下载和安装nginx
$ cd /ucenter/soft $ mkdir nginx $ wget #解压nginx压缩包 $ tar -vxf nginx-1.14.1.tar.gz #解压后会产生一个nginx-1.14.1的目录,进入这个目录 $ cd nginx-1.14.16.切换到root目录,然后指定默认的安装目录
# ./configure --prefix=/ucenter/soft/nginx --user=ucenter --group=ucenter7.再次切换用户到ucenter,然后进入nginx-1.14.1目录下进行编译安装
$ make $ make install8.安装完毕后,启动nginx
$ cd /ucenter/soft/nginx $ cd sbin $ ./nginx
#centos中启动,重新加载,停止命令如下
./nginx -------开启nginx服务./nginx -s reload ----------重新加载nginx服务./nginx -s stop ----------关闭nginx服务9.启动后记得到浏览器中访问,如果访问不了,记得在防火墙开启的情况下打开80端口就可以了,打开80端口的方法如下:
# firewall-cmd --zone=public --add-port=80/tcp --permanent# /sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT# /etc/rc.d/init.d/iptables save# /etc/init.d/iptables status
要到问题需要注意:
centos7 nginx: [emerg] bind() to 0.0.0.0:80 failed (13: Permission denied)
如果切换到普通用户下启动,有可能会报这个错误,怎么解决了?
执行如下命令:
$ su root$ passwd --输入密码# cd /ucenter/soft/nginx/sbin/# ll # chown root nginx# chmod u+s nginx# ll# su ucenter$ ./nginx$ ps -ef|grep nginx10.如何结束掉nginx进程
#一般情况下直接可以直接使用nginx的自带命令$ ./nginx -s stop#如果命令不起作用则可以使用$ ps -ef | grep nginxroot 13064 1 0 16:46 ? 00:00:00 nginx: master process ./nginxucenter 13065 13064 0 16:46 ? 00:00:00 nginx: worker processucenter 13069 12602 0 16:46 pts/2 00:00:00 grep --color=auto nginx#然后分别杀死主进程和分进程$ kill -9 13064$ kill -9 13065#或者可以通过如下命令直接停止$ pkill -9 nginx11.设置nginx开机启动
①在系统服务目录里创建nginx.service文件
cat>>/usr/lib/systemd/system/nginx.service
②写入内容如下:
[Unit]Description=nginxAfter=network.target [Service]Type=forkingExecStart=/usr/local/nginx/sbin/nginxExecReload=/usr/local/nginx/sbin/nginx -s reloadExecStop=/usr/local/nginx/sbin/nginx -s quitPrivateTmp=true [Install]WantedBy=multi-user.target
[Unit] 服务的说明
Description:描述服务 After:描述服务类别 [Service]服务运行参数的设置 Type=forking是后台运行的形式 ExecStart为服务的具体运行命令 ExecReload为重启命令 ExecStop为停止命令 PrivateTmp=True表示给服务分配独立的临时空间 注意:[Service]的启动、重启、停止命令全部要求使用绝对路径 [Install]运行级别下服务安装的相关设置,可设置为多用户,即系统运行级别为3
③设置开机自启动
systemctl enable nginx.service
④查看nginx状态
systemctl status nginx.service
很奇怪,明明启动成功了,为什么显示Active: inactive (dead)?
⑤杀死nginx重启nginx
pkill -9 nginx
ps aux | grep nginx
systemctl start nginx
再次查看状态,变成了active,搞定。
⑥重启服务器
reboot
⑦再次连接后,查看服务状态
systemctl status nginx.servic
========END===========
标签: #centosnginx启动失败