开发者导航

作者:开发者导航 网址:www.codernav.com 简介:开发者常用的网址集锦。

博客园 首页 新随笔 联系 订阅 管理

必要软件环境

#yum install wget

因为Nginx以来与gcc的编译环境,所以,在mini centos中需要安装编译环境来使Nginx能够编译起来。

#yum install gcc-c++

依赖的解压包

#yum -y install zlib zlib-devel

openssl安装

#yum install -y openssl openssl-devel

以上软件非必须,但为了保证安装成功,请尽量安装。

安装PCRE

Nginx的http模块需要使用pcre来解析正则表达式,也可以让 Nginx 支持 Rewrite 功能。

方式一:

#yum -y install pcre pcre-devel

方式二:

1、下载 PCRE 安装包,下载地址: http://downloads.sourceforge.net/project/pcre/pcre/8.35/pcre-8.35.tar.gz

[root@bogon src]# wget http://downloads.sourceforge.net/project/pcre/pcre/8.35/pcre-8.35.tar.gz

2、解压安装包:

[root@bogon src]# tar zxvf pcre-8.35.tar.gz

3、进入安装包目录

[root@bogon src]# cd pcre-8.35

4、编译安装 

[root@bogon pcre-8.35]# ./configure

[root@bogon pcre-8.35]# make && make install

5、查看pcre版本

[root@bogon pcre-8.35]# pcre-config --version

安装Nginx

先去Nginx官网查看最新版的Nginx源码地址:https://nginx.org/en/download.html

#wget -c https://nginx.org/download/nginx-1.10.3.tar.gz

下面开始对其解压

#tar -zxvf nginx-1.10.3.tar.gz

进入Nginx目录

#cd nginx-1.10.3

Nginx源码编译:

#./configure

#make

#make install

测试

一般编译安装完的软件都会放在/usr里,这不是user,这是Unix System Resource,是Unix系统资源的缩写。我们在/user/local/里面发现了nginx,进入

#cd /usr/local/nginx/

如果找不到,试试这条命令:

#whereis nginx

它会告诉你nginx在哪,nginx的命令在/usr/local/nginx/sbin目录下,对于nginx的启动,停止,我简单的列举下

./nginx  启动nginx

./nginx -s stop 停止nginx,此方式相当于先查出nginx进程id再使用kill命令强制杀掉进程。

./nginx -s quit 停止nginx,此方式停止步骤是待nginx进程处理任务完毕进行停止。

./nginx -s reload 重启nginx,一般是重新载入配置文件时使用

./nginx -s reopen 重启nginx,重新打开日志文件

./nginx -v 查看nginx版本

./nginx -t 查看配置文件正确性

查询nginx进程:

ps aux|grep nginx

root      23045  0.0  0.0  24468   764 ?        Ss   23:02   0:00 nginx: master process sbin/nginx

nobody    23046  0.0  0.1  24888  1232 ?        S    23:02   0:00 nginx: worker process

看到这两条进程状态,你成功了。PS:grep是筛选,|是管道,Linux里筛选的常用方式。

现在,在你的浏览器中输入你远端服务器的ip,看看是否有Nginx欢迎你的字样。

如果没有,关闭CentOS的防火墙试试。

PS:防火墙关闭之后注意配置iptables。CentOS7.0以上默认firewall为防火墙配置,我们这里改为iptables配置。

关闭防火墙

停止firewall

#systemctl stop firewalld.service 

禁止firewall开机启动

#systemctl disable firewalld.service 

查看默认防火墙状态(关闭后显示not running,开启后显示running)

#firewall-cmd --state

配置iptables,首先需要安装iptables服务

#yum install iptables-services

编辑防火墙配置文件

#vim /etc/sysconfig/iptables

加入下面的几行,22是默认存在的

-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -jACCEPT

-A INPUT -p tcp -m state --state NEW -m tcp --dport 8080-j ACCEPT

-A INPUT -p tcp -m state --state NEW -m tcp --dport 443 -j ACCEPT

vim里面是直接yy然后p的,不懂的朋友去看下vim编辑器的基本操作,里面有具体的详情。vim里面撤销编辑是回到初始页面,就是按esc,然后点击u即可。

22端口是供ssh访问的,80,8080端口是http服务访问的,以后用到https,也需要打开443端口的访问权限。

保存,重启iptables服务

最后重启防火墙使配置生效

#systemctl restart iptables.service

设置防火墙开机启动

#systemctl enable iptables.service

再次访问远程服务器的ip,是不是有Nginx欢迎你的页面了?

禁止防火墙开机自启动

重启之后firewall又被打开,所以我们要设置禁止firewall开机自启动

禁止firewall开机自启动

停止firewall

#systemctl stop firewalld.service 

禁止firewall开机启动

#systemctl disable firewalld.service 

添加nginx开机自启动

nginx服务未被加入到开机自启动列表,重启服务器后,未发现nginx服务,我们需要手动加入开机自启动

第一步,添加一个新文件,nginx.service

#vim /lib/systemd/system/nginx.service

输入以下内容

========

[Unit]

Description=nginx

After=network.target

 

[Service]

Type=forking

ExecStart=/usr/local/nginx/sbin/nginx

ExecReload=/usr/local/nginx/sbin/nginx -s reload

ExecStop=/usr/local/nginx/sbin/nginx -s quit

PrivateTmp=true

 

[Install]

WantedBy=multi-user.target

=============================================

更改文件权限

#chmod 745 /lib/systemd/system/nginx.service

设置开机自启动

#systemctl enable nginx.service

 

posted on 2018-07-14 15:28  开发者导航  阅读(149)  评论(0编辑  收藏  举报