文档章节

Linux 配置LNMP服务器 并配置虚拟主机

我是特种兵
 我是特种兵
发布于 2016/01/05 11:15
字数 1343
阅读 2180
收藏 8

【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>


一、停止甚至删除系统上现有的web服务器软件

    为了防止出现意外情况,建议先卸载现有的所有web服务器资源,如apache、mysql、php

yum remove httpd

二、安装开发包和库文件

yum -y install ntp make openssl openssl-devel pcre pcre-devel libpng libpng-devel libjpeg-6b libjpeg-devel-6b freetype freetype-devel gd gd-devel zlib zlib-devel gcc gcc-c++ libXpm libXpm-devel ncurses ncurses-devel libmcrypt libmcrypt-devel libxml2 libxml2-devel imake autoconf automake screen sysstat compat-libstdc++-33 curl curl-devel

三、安装nginx

    因官方已经支持yum安装,所以采用yum安装(一是因为快,二是因为我懒,最重要的是编译安装好麻烦)

    1、添加官方的nginx资源库,我是centos,其它系统去:http://nginx.org/packages/自己找

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

    2、此时可以查看nginx包信息  

yum info nginx

    3、安装nginx

yum install nginx

    如不出现错误,则安装成功,出错了就自己解决呗(一般不会出错的,请相信我)。

    配置nginx支持php,修改default.conf配置文件(我装的是nginx1.8.0版本。还有,现在还没装php呢,先配置好而已)

vi /etc/nginx/conf.d/default.conf

    修改为以下内容,将以下内容前面的“#”去掉,然后改一下fastcgi_param后面的目录即可,改为default.conf的web目录地址:/usr/share/nginx/html,或者是其它的其它目录也可以,但是一定要是root(默认)的目录

         location ~ \.php$ {
              root           html;
              fastcgi_pass   127.0.0.1:9000;
              fastcgi_index  index.php;
              fastcgi_param  SCRIPT_FILENAME  /usr/share/nginx/html$fastcgi_script_name;#这里写web服务器的目录地址
              include        fastcgi_params;
          }

   


    整个default.conf配置文件如下,本文只是让php运行,其它的配置没做任何修改

server {
    listen       80;
    server_name  localhost;

    #charset koi8-r;
    #access_log  /var/log/nginx/log/host.access.log  main;
    index index.php index.html index.htm;
    location / {
        root   /usr/share/nginx/html;
        #index  index.html index.htm;
    }

    #error_page  404              /404.html;

    # redirect server error pages to the static page /50x.html
    #
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }

    # proxy the PHP scripts to Apache listening on 127.0.0.1:80
    #
    #location ~ \.php$ {
    #    proxy_pass   http://127.0.0.1;
    #}

    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
    #
    #把下面的location的所有“#”全部删除
    location ~ \.php$ {
        root           html;
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  /usr/share/nginx/html$fastcgi_script_name;
        include        fastcgi_params;
    }

    # deny access to .htaccess files, if Apache's document root
    # concurs with nginx's one
    #
    #location ~ /\.ht {
    #    deny  all;
    #}
}

   

    然后启动并设置为开机启动

   

systemctl start nginx        #启动nginx服务
systemctl enable nginx    #设置nginx为开机启动

四、安装mariadb

     因为centos7已用mariadb替换mysql,所以安装的是mariadb(反正mysql和mariadb没啥区别)

yum install  mariadb mariadb-server

    如不出错,则安装成功

   然后启动并设置为开机启动

systemctl start mariadb.service
systemctl enable mariadb.service

    然后配置mariadb

mysql_secure_installation

    除了让你输入新密码和确认新密码,其它一路回车即可,博主英文不好。

 

五、安装php

    因为nginx是用FastCGI模式运行php,php-fpm是一个FastCGI管理器,所以安装的时候要选择php-fpm模块

yum install php lighttpd-fastcgi php-cli php-mysql php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-mcrypt php-mssql php-snmp php-soap php-tidy php-common php-devel php-fpm

    安装完成后启动php-fpm,并且设置未开机启动,因为我这里是centos7,所以我就用7的命令操作了

systemctl start php-fpm          #启动php-fpm
systemctl enable php-fpm      #设置为开机启动

六、最重要当然是测试一下了

    默认nginx的web路径是/usr/share/nginx/html,可以改,可以不改

    在web目录下建一个php文件

vi /usr/share/nginx/html/index.php

    将以下内容写入文件

<?php
    phpinfo();
?>

   如果出现激动人心的phpinfo信息,则证明lnmp配置成功,恭喜恭喜,如果出现错误,就慢慢改呗。

七、配置虚拟主机

    这一步其实最简单了

    把上面的default.conf复制一份(其实不复制也行,重新在default.conf最下面写一个server,不过我喜欢将不同的东西彻彻底底的分开),改改server_name和root的地址,还有和他俩相关的选项即可:

server {
    listen       80;
    server_name  localtest.com;                  #把这里的域名改一下即可

    #charset koi8-r;
    #access_log  /var/log/nginx/log/host.access.log  main;
    index index.php index.html index.htm;
    location / {
        root   /var/www/html;                         #设置此虚拟主机的目录地址
        #index  index.html index.htm;
    }

    #error_page  404              /404.html;

    # redirect server error pages to the static page /50x.html
    #
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;            #错误页面,改不改无所谓了,都用一样的呗(又暴露了我懒的本质了)
    }

    # proxy the PHP scripts to Apache listening on 127.0.0.1:80
    #
    #location ~ \.php$ {
    #    proxy_pass   http://127.0.0.1;
    #}

    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
    #
    location ~ \.php$ {
        root           html;
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  /var/www/html$fastcgi_script_name;             #把这里的目录改成和上面root一样的
        include        fastcgi_params;
    }

    # deny access to .htaccess files, if Apache's document root
    # concurs with nginx's one
    #
    #location ~ /\.ht {
    #    deny  all;
    #}
}

    怎么样,是不是和default.conf没多大区别,只是改了三个地方而已。

    修改完后,重启一下nginx服务。

   

systemctl restart nginx

    然后配一下hosts文件,重启一下网络服务,如果是在本地虚拟机或局域网安装测试的,别忘了改一下你当前物理机的hosts.

systemctl restart network

    在 /var/www/html文件下建一个index.php文件,随便写点东西(懒人同胞们请复制下面的php代码),在浏览器里面输入你的设置的域名访问一下吧,哈哈,是不是出现了久违的“hello world.”,恭喜你,配置成功。

   

<?php
    echo "hello world.";
?>

    好了,整篇教程到这里就结束了,如果不会,请私信我,我看到会回复的。

© 著作权归作者所有

我是特种兵
粉丝 6
博文 10
码字总数 2304
作品 0
其他
私信 提问
Nginx 虚拟主机 VirtualHost 配置

Nginx 是一个轻量级高性能的 Web 服务器, 并发处理能力强, 对资源消耗小, 无论是静态服务器还是小网站, Nginx 表现更加出色, 作为 Apache 的补充和替代使用率越来越高. 我在《Apache 虚拟主机...

simpower
2014/12/25
163
0
wdlinux_lnmp服务器安装版ISO及下载,集成wdcp管理系统

wdlinux_lnmp服务器安装版ISO及下载,集成wdcp管理系统 wdlinux是什么 wdlinux是基于CentOS的精简版本,去除了大部分不常用软件包和服务,筛选了系统基本包和web应用环境包,及系统的优化.同时增...

wdlinuxcn
2011/03/28
529
0
Nginx 虚拟主机 VirtualHost 配置

Nginx 是一个轻量级高性能的 Web 服务器, 并发处理能力强, 对资源消耗小, 无论是静态服务器还是小网站, Nginx 表现更加出色, 作为 Apache 的补充和替代使用率越来越高. 绝大多数的 Nginx 运行...

小小霸王枪
2013/11/13
1K
0
细谈普通网站的后台构建实战----my note

比如你建一个普通网站,流量不高。如何设计 普通PC环境,大约同时支持2000到3000的并发量,当然,我不排除有高手进行后台服务器优化,实现更高的并发量。 一些大型的网站会采取“分流”的方式...

crossmix
2016/03/22
98
1
LNMP 一键安装包 V1.5 正式版发布,增加 PHP 7.2 支持

LNMP 1.5正式版一如既往的于6.1发布了,本版主要增加PHP7.2支持、增加Maria DB 10.2、增加无人值守安装、增加多核编译安装、替换问题较多的certbot使用acme.sh不需要过多的依赖生成SSL更丝滑...

局长
2018/06/03
1K
9

没有更多内容

加载失败,请刷新页面

加载更多

ArrayList 源码分析

一、概述 本文基于 JDK8 ArrayList 底层通过动态数组的数据结构实现 内存需要连续的空间保证 添加操作涉及到数组的动态扩容 添加,删除都涉及到位置移动操作 随机查找效率快(下标查找) Ar...

hncboy
26分钟前
4
0
采购单品汇总_华南.xlsx

import pandas as pdimport matplotlib.pyplot as pltimport matplotlib as mp1mp1.rcParams["font.family"] = "STFangsong"# 加载《销售》表数据df1 = pd.read_excel(r"C:\Us......

龙玉滕
今天
5
0
OSChina 周五乱弹 —— 一次四千 要4次还能多给一千

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @这次装个文艺青年吧 :#今日歌曲推荐# 分享金志文的单曲《远走高飞》: 版权又回来了现在听歌得好几个软件 《远走高飞》- 金志文 手机党少年们...

小小编辑
今天
10
0
Spring Cloud Alibaba 实战(十) - Spring Cloud GateWay

> 本文主要内容是:为什么要使用网关,整合Gateway,Gateway核心学习:Route,Predicate,Filter,最后使用Gateway聚合微服务请求 先总结至此的架构 1 网关的价值 不使用网关行嘛? 各个请求直接打在...

JavaEdge
今天
4
0
【CKB.DEV 茶话会】第二期:聊聊 CKB 钱包和 Nervos DAO 全流程

CKB.DEV 茶话会第二期:聊聊 CKB 钱包和 Nervos DAO 全流程 为了鼓励更多优秀的开发者和研究人员参与到 CKB 的开发和生态建设中去,我们希望组织一系列 CKB Developer Seminar(CKB.DEV 茶话...

NervosCommunity
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部