龙空技术网

CentOS 7 安装Nginx

开发人员 135

前言:

今天我们对“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--devel
2.安装Nginx
 安装之前,最好检查一下是否已经安装有nginx # find -name nginx   如果系统已经安装了nginx,那么就先卸载 # yum remove nginx
3.新建一个用户
 需要新建一个用户,禁止使用root用户进行操作 # useradd  -d ucenter # passwd ucenter # cd /ucenter # mkdir soft # chown ucenter:ucenter /ucenter/ -R
4.安装在线下载包
 在线安装wget包 # yum -y install wget
5.在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.1
6.切换到root目录,然后指定默认的安装目录
 # ./configure --prefix=/ucenter/soft/nginx --user=ucenter --group=ucenter
7.再次切换用户到ucenter,然后进入nginx-1.14.1目录下进行编译安装
 $ make $ make install
8.安装完毕后,启动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 nginx
10.如何结束掉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 nginx
11.设置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启动失败