centos7下nginx配置

1、最基本的安装配置

首先获取Nginx的rmp包

wget http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm

安装rpm -ivh nginx-release-centos-7-0.el7.ngx.noarch.rpm

安装Nginx yum install nginx –y

安装完,遇到/var/run/nginx.pid(13:permission denied)错误

修改配置文件内容(/etc/nginx/nginx.conf)

events {

use epoll;

worker_connections 51200;

}

http {

server {

listen 20181;

server_name otpappsec.wanmei.com;

root /var/www/test;

index a.html;

}

server {

listen 80 ;

server_name otpappsec.wanmei.com;

root /var/www/test;

index a.html;

}

}

当遇到上述错误时,reboot系统

之后遇到的错误显示80端口被占用,虽然配置文件没使用80端口,很奇怪,查

了一些占用端口的进程(lsof –i:80),kill掉,nginx启动就成功了,(⊙﹏⊙)b

2、使用ssl

打开一个目录作为配置文件目录(/usr/local/nginx/conf)

执行命令:

2.1、使用openssl创建创建服务器私钥,输入相应提示的信息

openssl genrsa -des3 -out test.key 1024

输入密码 111111 创建完成

2.2、清除以SSL启动Nginx时提示必须输入密钥 即生成一个不需要输入密码的key

openssl rsa -in test.key -out test_nopass.key

输入之前的密码 111111

2.3、创建证书签名请求(Certificate Signing Request (CSR))

openssl req -new -key test.key -out test.csr

具体输入信息 参考下图

2.4、使用刚生成的私钥和CSR进行证书签名

openssl x509 -req -days 365 -in test.csr -signkey test.key -out test.crt

一切就绪后,修改配置文件(/etc/nginx/nginx.conf)

server {

listen 20180; 监听端口20180

server_name otpappsec.wanmei.com;

ssl on; 开启443端口

ssl_certificate /usr/local/nginx/conf/test.crt; 证书位置

ssl_certificate_key /usr/local/nginx/conf/test_nopass.key; key的位置

root /var/www/test;

index a.html;

}

配置完成,restart nginx服务,

之后浏览器访问

3、端口转发

配置端口如下

events {
    use epoll;
    worker_connections  51200;
}
http  {
        server  {
                listen          20181;
                server_name     otpappsec.wanmei.com;
                root            /var/www/test;
                index           a.html;
                }
        server  {
                listen          80 ;
                server_name     otpappsec.wanmei.com;
                root            /var/www/test;
                index           a.html;
                }

server  {
                listen          20180;
                listen          443;
                server_name     otpappsec.wanmei.com;
                ssl             on;
                ssl_certificate         /usr/local/nginx/conf/test.crt;
                ssl_certificate_key     /usr/local/nginx/conf/test_nopass.key;
                root            /var/www/test;
                index           a.html;
                }

server  {
                listen          80 ;
                server_name     ssl.test.com;
                root            /var/www/tet;
                index           index.php index.html;
                location ~ .php$ {
                        fastcgi_pass 127.0.0.1:9000;
                        fastcgi_index index.php;
                        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                        include fastcgi_params;
                        }
                }

}

4、与Apache &php&mysql 环境

可以参考如下链接

https://www.digitalocean.com/community/tutorials/how-to-install-linux-nginx-mysql-php-lemp-stack-on-centos-7

安装php

yum install -y php  php-fpm

修改 /etc/php.ini文件

把cgi.fix_pathinfo=0

修改 /etc/php-fpm.d/www/conf

listen.owner = nobody
listen.group = nobody

user = nginx
group = nginx

修改/etc/nginx/nginx.conf文件

具体见端口转发中  ssl.test.com中的配置

重启nginx  php-fpm

之后在浏览器测试

php测试文件 test.php<?phpecho phpinfo();?>

 
时间: 2024-10-12 16:09:14

centos7下nginx配置的相关文章

Windows下Nginx配置SSL实现Https访问(包含证书生成)

Vincent.李 Windows下Nginx配置SSL实现Https访问(包含证书生成) Windows下Nginx配置SSL实现Https访问(包含证书生成) 首先要说明为什么要实现https? HTTP全名超文本传输协议,客户端据此获取服务器上的超文本内容.超文本内容则以HTML为主,客户端拿到HTML内容后可根据规范进行解析呈现.因此,HTTP主要负责的是"内容的请求和获取".问题就出在这部分.行监控.劫持.阻挡等行为很容易导致网站泄密,一些关键参数比如登录密码开发者会在客户端

Window7 64位下Nginx配置https

一.安装Nginx 官方下载地址:http://nginx.org/en/download.html 直接下载1.7.1.zip的链接:http://nginx.org/download/nginx-1.7.1.zip 二.安装Openssl 官方下载的没弄明白怎么用,不过还是留下链接以备之后使用:http://www.openssl.org/source/ 感觉比较好用的:链接:http://pan.baidu.com/s/1kT9OcPT 密码:zg6p 三.生成密钥 安装完成Openssl

Centos7下安装配置Redsocks

Redsocks是一个开源的网络程序,代码依赖开源的libevent网络库.Redsocks允许你将所有TCP连接重定向到SOCKS或HTTPS代理,比如Shadowsocks(Centos7下安装配置Shadowsocks).通常的用途是流量透传或流量转发,首先将本机上目的地为的某些特定IP的流量转发到Redsocks的监听端口上(本文为8888),之后Redsocks会将这些流量再转发给后端的Shadowsocks,再通过shadowocks转到更远的地方. 1.下载编译 [[email p

Linux系统下如何配置SSH_Centos7 ssh连接配置 CentOS7下安全配置

转自:http://www.linuxdown.net/install/config/2016/0611/5853.html Linux系统下如何配置SSH_Centos7 ssh连接配置 CentOS7下安全配置SSH 时间:2016-06-11 11:13来源:未知 作者:Linux先生 举报 点击:1804次 SSH 通常是我们进入新伺服器的第一个应用程式,它也取代了telnet 和rsh 成为管理伺服器的最主要介面. SSH 通常是我们进入新伺服器的第一个应用程式,它也取代了telnet

【转】Linux下nginx配置https协议访问的方法

一.配置nginx支持https协议访问,需要在编译安装nginx的时候添加相应的模块--with-http_ssl_module 查看nginx编译参数:/usr/local/nginx/sbin/nginx -V 如下所示: configure arguments: --prefix=/usr/local/nginx --with-google_perftools_module --without-http_memcached_module --user=www --group=www --

centos7下安装配置django,开始第一个项目;

一.安装(注本人使用的centos7下,有python2和python3,涉及到python3的使用pip3,python3) 安装django: pip3 install django==2.1.2 查看版本号:pip3 show django 检查是否安装成功: 方式一.python3下,检查版本: 方式二.查看django-admin信息,会发现提示command no found; find / -name django-admin,查看路径,然后创建软链接: 这样,再次查看django

Centos7下Nginx+Tomcat配置反向代理,使用memcached解决session一致性问题

一.session一致性问题 使用集群方案解决网站高并发问题时,就会部署多台应用服务器.当用户第一次通过客户端(如:浏览器)访问服务器时,服务器会创建对应的session, 使用Nginx反向代理,假如用户A第一次访问站点,被反向代理到服务器一处理,服务器一创建对应sessionA记录信息,用户A再次访问站点时,被反向代理到服务二处理, 而服务器二没有记录用户A的session信息,就会新创建sessionB,导致用户A之前操作丢失. 我们可以通过让多个服务器统一到同一个地方新建session和

Centos7.2下Nginx配置SSL支持https访问(站点是基于.Net Core2.0开发的WebApi)

准备工作 1.基于nginx部署好的站点(本文站点是基于.Net Core2.0开发的WebApi,有兴趣的同学可以跳http://www.cnblogs.com/GreedyL/p/7422796.html) 2.证书颁发机构(CA)颁发的有效证书,其中我们需要两个文件,一个是 .key文件(私钥),另一个是 .crt或.pem文件(公钥) 核心功能 ? 通过指定由受信任的证书颁发机构(CA)颁发的有效证书,将服务器配置为侦听端口上的HTTPS流量. ? 通过配置nginx.conf文件来加强

CentOS7下Nginx的安装配置

一.安装编译工具及库文件: yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel 环境要求 nginx是C语言开发,建议在linux上运行,本文章使用Centos7作为安装环境. 安装nginx需要先将官网下载的源码进行编译,编译依赖gcc环境,如果没有gcc环境,需要安装gcc:yum install gcc-c++ zlib库提供了很多种压缩和解压缩的方式,nginx使用zlib对http包的内容进