Linux系统下安装nginx服务
必要软件环境
#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.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
---------------------
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- PHP验证类的封装与使用方法详解
- Laravel框架实现的rbac权限管理操作示例
- Laravel框架实现的批量删除功能示例
- PyTorch中model.zero_grad()和optimizer.zero_grad()用法
- 利用PyTorch实现VGG16教程
- PHP添加文字水印或图片水印的水印类完整源代码与使用示例
- Python 分布式缓存之Reids数据类型操作详解
- Pycharm打开已有项目配置python环境的方法
- python cv2.resize函数high和width注意事项说明
- pytorch SENet实现案例
- python如何安装下载后的模块
- Python爬虫如何应对Cloudflare邮箱加密
- 如何使用Python处理HDF格式数据及可视化问题
- tp5框架使用composer实现日志记录功能示例
- python 图像插值 最近邻、双线性、双三次实例