CentOS7下安装配置Nginx
一:安装依赖项
1.pcre;2.openssl;3.zlib;4.gcc;可直接通过yum安装
二:创建nginx账户(可以配置nginx.conf的user为此账户)
useradd nginx -M -s /sbin/nologin
三:下载并安装
在官网http://nginx.org/en/download.html下载稳定版的linux安装包,我下的是nginx.1.12.2.tar.gz;
1.解压此压缩包;2.cd到解压后的目录;3.直接执行./configure即可,不需要额外配置(老版本需要);
然后会执行配置脚本(configure是一个shell脚本),最后执行完后会输出(个人的):
Configuration summary
+ using system PCRE library
+ OpenSSL library is not used
+ using system zlib library nginx path prefix: "/usr/local/nginx"
nginx binary file: "/usr/local/nginx/sbin/nginx"
nginx modules path: "/usr/local/nginx/modules"
nginx configuration prefix: "/usr/local/nginx/conf"
nginx configuration file: "/usr/local/nginx/conf/nginx.conf"
nginx pid file: "/usr/local/nginx/logs/nginx.pid"
nginx error log file: "/usr/local/nginx/logs/error.log"
nginx http access log file: "/usr/local/nginx/logs/access.log"
nginx http client request body temporary files: "client_body_temp"
nginx http proxy temporary files: "proxy_temp"
nginx http fastcgi temporary files: "fastcgi_temp"
nginx http uwsgi temporary files: "uwsgi_temp"
nginx http scgi temporary files: "scgi_temp"
这个就是默认的配置,可以保存一下以便需要的时候可以快速查阅;
4.开始真正的安装
还是在该目录下输入make回车,最终会有一段输出:
sed -e "s|%%PREFIX%%|/usr/local/nginx|" \
-e "s|%%PID_PATH%%|/usr/local/nginx/logs/nginx.pid|" \
-e "s|%%CONF_PATH%%|/usr/local/nginx/conf/nginx.conf|" \
-e "s|%%ERROR_LOG_PATH%%|/usr/local/nginx/logs/error.log|" \
< man/nginx.8 > objs/nginx.8
然后再次输入make install;(make时实际上已经编译好了,这一步主要是根据配置进行一系列的mkdir/cp等命令的执行);
5.查看安装在哪
whereis nginx后输出:nginx: /usr/local/nginx
四:启动、停止nginx
cd /usr/local/nginx/sbin/
./nginx # 启动nginx服务(还可以通过 -c cnfFile 手动指定配置文件的位置,默认在安装目录的conf/nginx.conf),注意,不需要用daemon或nohup或后面加个&,这个程序本身就已经是daemon程序了;
./nginx -s quit # 将nginx作为客户端启动并向已启动的nginx服务发送shutdown请求(可通过tcp请求实现)【这几个-s都是signal的意思】
./nginx -s stop # 直接杀死nginx服务,可以通过killproc nginx -QUIT实现;
./nginx -s reload # 重新加在配置并重启相关组件,但nginx不会重启,类似tomcat的redeploy./nginx -s quit
:此方式停止步骤是待nginx进程处理任务完毕进行停止。./nginx -s stop
:此方式相当于先查出nginx进程id再使用kill命令强制杀掉进程(可以直接用pidof nginx得到)。 这里说明一下:sbin下的nginx即是server也是ctl,即启动nginx时如果指定 -s 那么此进程就作为客户端(类似rabbitmqctl)来操作nginx服务,故不能手动用lockfile来限制进程的单例运行; 查询nginx进程:ps aux|grep nginx(或者ps ef|grep nginx,或者kill -0或者pidof nginx之类的)
五:重启nginx
1.先停止再启动(推荐):
对 nginx 进行重启相当于先停止再启动,即先执行停止命令再执行启动命令。如下:
./nginx -s quit(执行完后会有两个nginx进程退出)
sleep 1
./nginx
六:开机启动
由于不像redis或mq一样退出时需要做清理工作,nginx可以直接退出,故直接在/etc/rc.d/rc.local文件里添加:/usr/local/nginx/sbin/nginx
即可;(前提是你的rc.local有可执行权限,没有可以用chmod配置)
如果希望nginx退出是quit的形式则可以写个脚本放到init.d目录下,不过关机时并不能完全保证会等nginx主动退出才继续关机;
注:启动nginx后访问http://localhost/如果出现:Welcome to nginx!。。。说明nginx配置和启动成功(这个文件是nginx/html/index.html);
部分资料参考:https://www.linuxidc.com/Linux/2016-09/134907.htm
CentOS7下安装配置Nginx的更多相关文章
- centos7 下 安装部署nginx
centos7 下 安装部署nginx 1.nginx安装依赖于三个包,注意安装顺序 a.SSL功能需要openssl库,直接通过yum安装: #yum install openssl b.gzip模 ...
- Centos7下安装配置Redsocks
Redsocks是一个开源的网络程序,代码依赖开源的libevent网络库.Redsocks允许你将所有TCP连接重定向到SOCKS或HTTPS代理,比如Shadowsocks(Centos7下安装配 ...
- (转)windows 下安装配置 Nginx 详解
windows 下安装配置 Nginx 详解 本文转自https://blog.csdn.net/kingscoming/article/details/79042874 nginx功能之一可以启动一 ...
- Linux 下安装配置nginx及常见问题解答
其实也不能完全算是原创吧!都是我配置nginx时所遇到的问题,查阅资料后总结起来.即是巩固一下nginx的配置,也是分享给新入Linux的童鞋们一些知识 好了,不多废话,进入主题吧! 为nginx添加 ...
- Centos7 下安装配置tomcat7
首先下载压缩包 wget http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-7/v7.0.78/bin/apache-tomcat-7. ...
- centos7下安装配置prometheus
prometheus官网:https://prometheus.io/download/ 搭建环境参考:https://blog.csdn.net/baidu_36943075/article/det ...
- centos7下安装配置jenkins+git+maven+jdk
环境 centos7 jdk1.8 maven3 git 在安装jenkins之前,先安装jdk1.8.maven.git 一. 安装jdk1.8 第一步:下载 jdk-8u131-linux-x64 ...
- windows下安装配置nginx
下载nginx-1.0.11.zip, 解压到到nginx目录下 D:\nginx\conf 修改conf下的nginx.conf文件, 默认是80端口,若该端口被占则可以修改 listen 8073 ...
- centOS7下 安装nodejs+nginx+mongodb+pm2部署vue项目
一.购买服务器并远程连接 1.购买服务器和域名 可以选择阿里云或者是其他的厂商的服务器.然后会获得服务器ip地址,用户名和密码. 购买域名,将域名绑定到ip地址上. 2.下载xshell,winscp ...
随机推荐
- eclipse 和 javaClass
eclipse 如果设置为 Build automaticaly 会自动对当前的类进行编译,放在项目下的bin文件夹下. 1. 如果此Class有错,则编译后的Class不能用,里面仅仅写会抛出异常代 ...
- Redis 配置节
Redis 后面的配置基于4.0.9版本=>>>不指定版本信息的配置说明都是耍流氓 比如在4.0.9中没有vm相关的及glueoutputbuf的配置信息 部分常用配置节(后面有详细 ...
- attr 修改IMG src
jQuery修改img的src的方法:$("#img_id").attr("src","new_src"); 定义和用法 attr() 方法 ...
- java流输入输出
java读取txt文件内容.可以作如下理解: 首先获得一个文件句柄.File file = new File(); file即为文件句柄.两人之间连通电话网络了.接下来可以开始打电话了. 通过这条 ...
- 用js来实现银行家算法
Number.prototype.round = function (len) { var old = this; var a1 = Math.pow(10, len) * old; a1 = Mat ...
- Mysql update 一个表中自己的数据
update table ucf, table t2 set ucf.pcid = t2.pcid where t2.name = 'liming' and t2.gid= ucf.gid and ...
- Maven命令行使用 mvn clean package
先把命令行切换到Maven项目的根目录,比如:/d/xxxwork/java/maven-test,然后执行命令: mvn clean package 执行结果如下: [INFO] Scanning ...
- Loadrunner进行参数化
Loadrunner进行参数化 Loadrunner中进行参数化,这里有三种方法. 对需要多次使用的变量进行参数化,比如登录信息的用户名和密码,首先需要选中需要参数化的值,然后右键选择Replace ...
- 几个小模板:topology, dijkstra, spfa, floyd, kruskal, prim
1.topology: #include <fstream> #include <iostream> #include <algorithm> #include & ...
- 【校招面试 之 C/C++】第10题 C++不在构造函数和析构函数中调用虚函数
1.不要在构造函数中调用虚函数的原因 在概念上,构造函数的工作是为对象进行初始化.在构造函数完成之前,被构造的对象被认为“未完全生成”.当创建某个派生类的对象时,如果在它的基类的构造函数中调用虚函数, ...