概述
1)安装方式:编译源码方式安装
2)Nginx的安装涉及到依赖库的安装、nginx的安装及配置、启动&重启&关闭
前提
本教程适合CentOS 6.x 系统,其他系统未做检验。
开始安装
安装前的准备
- 准备 pcre-8.12.tar.gz,该文件为正则表达式库。让nginx支持rewrite需要安装这个库。
- 准备 nginx-1.12.0.tar.gz,该文件为nginx的linux版本安装文件。
- 确保进行了安装了linux常用必备支持库。
检查是否安装了gcc
输入命令rpm -qa | grep gcc 之后需要出现3个包如下图所示。如果没有出现。需要安装g++、gcc
yum install -y gcc
yum install -y gcc-c++
正则表达式库(pcre-8.12.tar.gz)的安装
1)上传pcre-8.12.tar.gz 至 /usr/thomas
2)解压并进入解压后目录
cd /usr/thomas
tar xzvf pcre-8.12.tar.gz
cd pcre-8.12
3)配置
./configure
4)编译
make
5)安装
make install
zlib相关
判断是否已安装zlib rpm -qa | grep zlib-devel
如果没有安装,进行安装 yum install -y zlib-devel
Nginx的安装
0、上传nginx包nginx-1.12.0.tar.gz至 /usr/thomas
1、创建用户nginx使用的www用户
- groupadd www #添加www组
- useradd -g www www -s /bin/false #创建nginx运行账户www并加入到www组,不允许www用户直接登录系统
2、创建安装目录与日志目录
a) 安装目录
mkdir /usr/local/nginx
b) 日志目录
mkdir /data/logs/nginx
chown www:www /data0/logs/nginx -R
3、解压并进入目录
cd /usr/thomas
tar xzvf nginx-1.12.0.tar.gz
cd /usr/thomas/nginx-1.12.0
4、配置
./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_realip_module
说明:如果依赖的包没有安装,这些配置有些是不支持的
5、编译
make
6、安装
make install
7、检查是否安装成功
cd /usr/local/nginx/sbin
./nginx -t
如果显示:
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
则表示安装成功
配置防火墙80端口
修改防火墙配置:
vi + /etc/sysconfig/iptables
添加配置项
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
重启防火墙
service iptables restart
启动&重启&停止
可参考官网介绍:https://www.nginx.com/resources/wiki/start/topics/tutorials/commandline/
启动
1)基本方法:使用默认配置文件启动
cd /usr/local/nginx/sbin
./nginx
2)高级方法:通过指定配置文件启动
cd /usr/local/nginx/sbin
./nginx -c config-page //config-page表示配置文件
重启
cd /usr/local/nginx/sbin
./nginx -s reload
停止
共有两种方式停止nginx服务器
1)方式一:通过命令行
cd /usr/local/nginx/sbin
./nginx -s stop
2)方式二:通过信号
优雅停止进程 kill -QUIT $(cat /usr/local/nginx/logs/nginx.pid) //其中,这个文件保存了nginx的进程号
说明:查询nginx主进程号: ps -ef | grep nginx
测试
1、查看端口情况: netstat -na | grep 80
2、浏览器检查: http://192.168.1.120:80, 如果浏览器显示 WelCome to Nginx!页面,则表示局域网其他机器能访问nginx了
说明
1、Linux中必备常用支持库的安装(CentOS-6.5)
在CentOS安装软件的时候,可能因为缺少一部分支持库而报错。这里首先安装系统常用的支持库。那么在安装的时候就会减少很多的错误的出现。
yum install -y gcc gdb strace gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs patch e2fsprogs-devel krb5-devel libidn libidn-devel openldap-devel nss_ldap openldap-clients openldap-servers libevent-devel libevent uuid-devel uuid mysql-devel
问题列表
1、nginx开启后,局域网其他机器无法访问nginx安装目录html下的静态文件
这可能是因为系统中selinux 阻止了html文件下几个html文件的远程被访问,解决办法如下
1)修改配置
在vim /etc/selinux/config中,修改成SELINUX=disabled
2)重启reboot
3)重启后,使用如下命令查看selinux配置
getenforce #查看selinux配置
Disabled #返回的配置信息
参考:http://blog.csdn.net/lsm135/article/details/51863276
http://blog.csdn.net/lsm135/article/details/51863319
参考
Linux中Nginx安装与配置详解:http://www.linuxidc.com/Linux/2016-08/134110.htm