我的服务器开发之路-LAMP+NGINX=LNMPA

LAMP,即linux+apache+mysql+php

LNMPA,即linux+nginx+mysql+php+apache

ps:博主的文章,也可以说是笔记,篇幅之间都是有关联的。

之前配置的是LAMP,其中linux和mysql都是用的阿里云产品

apache和php的安装配置前面都有单独的篇幅讲解。

nginx和apache的区别,可以去百度,博主只能稍微提一下

nginx用来处理静态服务,包括静态网页,静态文件如图片,也可以用来设置反向代理,处理动态服务有问题,具体作用可以百度

apache可以用来处理静态服务也可以用来处理动态服务,但是静态服务效率比nginx低了不是一星半点,具体作用可以百度

一、修改apache端口

将端口号改成1121

打开文件/etc/httpd/conf/httpd.conf


修改Listen 80为Listen 1121


以及ServerName的端口号位1121


滚到最下面,修改端口号为1121


输入systemctl restart httpd.service 重启apache服务器


打开浏览器,输入showdoc.xxx.xx:1121


发现端口号修改完毕

二、安装nginx

输入nginx -v 查看nginx版本
出现以下情况表示没有安装nginx


出现以下情况表示已经安装了nginx


如果没有安装,则输入yum install nginx











输入systemctl start nginx.service 开启nginx服务


输入systemctl enable nginx.service  设置开机自启动服务器


输入systemctl stop nginx.service 表示停止nginx服务,输入systemctl restart nginx.service 表示重启nginx服务

输入init 6 重启服务器


输入nginx -v


打开浏览器,输入域名或者ip地址


安装nginx成功。

三、配置nginx

新建文件access.log和error.log


打开文件/etc/nginx/nginx.conf

在worker_processes下一行添加worker_rlimit_nofile 65535;

表示最大打开文件数

数值通过输入ulimit -n查看

这边是65535

在events中添加use epoll;

表示启用网络模型高效

修改worker_connections 1024;为worker_connections 65535;

数量和worker_rlimit_nofile一致

在下一行添加multi_accept on;

表示尽可能多的接收连接

修改/var/log/nginx/error.log为/data/log/nginx/error.log


修改/var/log/nginx/access.log为/data/log/nginx/access.log


新建目录/data/www/web/zzzweb用来存放静态数据,比如静态网页


并将其所有者改为nginx

输入 chown -R nginx:nginx /data/www/web/zzzweb


查看所有者


修改/usr/share/nginx/html为/data/www/web/zzzweb

并在下一行添加index index.html index.htm;


将/usr/share/nginx/html目录内内容复制到/data/www/web/zzzweb目录中

输入systemctl restart nginx.service重启nginx服务


删除/var/log/nginx目录

删除/usr/share/nginx/html目录

打开浏览器输入域名或者ip地址,发现还是之前那个网页


nginx配置成功。

四、nginx反向代理以及apache辅助配置

首先,博主的思路是这样的,nginx专门处理静态,apache处理动态

而且博主喜欢通过修改域名前缀,比如showdoc.xxx.xx中的showdoc就是前缀,用来表示是访问showdoc的

那么,博主目前一共分了三个域名前缀分别代表不同的作用

1、static.xxx.xx用来表示nginx自身处理的静态,不用代理

2、showdoc.xxx.xx用来表示showdoc的访问,因为showdoc建立在apache上,所以,要通过nginx转发给apache

3、*.xxx.xx表示除了以上的域名前缀的访问,全部转发给apache来处理,如果有例如showdoc这样脱离tp503版本thinkphp的项目,那么可以加上第2步处理

首先,先配置apache

打开文件/etc/httpd/conf/httpd.conf


在原来的端口下加入一个新的端口504监听


拉到最下面,将showdoc的端口监听改成504,并将域名改成localhost


输入systemctl restart httpd.service 重启apache服务器


打开浏览器,输入ip地址:504


发现showdoc的端口修改成功

打开阿里云控制台里的域名


点击解析,添加static前缀的解析


上面这步阿里云域名映射完毕

打开文件/etc/nginx/nginx.conf


修改server_name  _ 为 server_name  static.xxx.xx;


打开浏览器输入static.xxx.xx域名


上面这步实现了第1步

在此server下面添加如下代码

    server {
        listen       80;
        listen       [::]:80;
        server_name  showdoc.xxx.xx;

        # Load configuration files for the default server block.
        include /etc/nginx/default.d/*.conf;

        location / {
            proxy_pass http://xx.xx.xxx.xxx:504;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
        }
    }


proxy_pass的地址,为阿里云ECS的内网ip地址,504为showdoc的监测端口,由此从nginx反向代理到apache的showdoc

输入systemctl restart nginx.service 重启nginx服务器


打开浏览器,直接输入showdoc.xxx.xx域名


上面这步实现了第2步

在此server下面再添加如下代码

    server {
        listen       80;
        listen       [::]:80;
        server_name  *.xxx.xx;

        # Load configuration files for the default server block.
        include /etc/nginx/default.d/*.conf;

        location / {
            proxy_pass http://xx.xx.xxx.xxx:1121;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
        }
    }

此处的proxy_pass地址仍然是阿里云ECS服务器的内网ip地址,1121为tp503的监测端口,由此从nginx反向代理到apache的tp503

输入systemctl restart nginx.service 重启nginx服务器


打开浏览器输入www.xxx.xx域名


上面这步实现了第3步

LNMPA配置完成。

你可能感兴趣的:(服务器开发,LAMP,NGINX,LNMPA)