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;
}
}
输入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配置完成。