Linux---lnmp之nginx

#####################################

######### 高性能Web服务器Nginx #########

#####################################

主机环境: rhel6 selinux and iptables disabled

实验主机: Server1172.25.27.1 作为Nginx服务器

Server2172.25.27.2 作为Apache服务端

Server3172.25.27.3 作为Apache服务端

 

一、LNMP

LNMP就是Linux系统下Nginx+Mysql+PHP这种网站服务器架构。

Linux是一类Unix计算机操作系统的统称。

Nginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器。

Mysql是一个小型关系型数据库管理系统。

PHP是一种在服务器端执行的嵌入HTML文档的脚本语言。

这四种软件均为免费开源软件,组合到一起,成为一个免费、高效、扩展性强的网站服务系统。

 

二、Nginx

1.Nginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器。

作为负载均衡服务器:Nginx既可以在内部直接支持RailsPHP,也可以支持作为HTTP代理服务器对外进行服务。NginxC编写,不论是系统资源开销还是CPU使用效率都比Perlbal要好的多。

作为邮件代理服务器:Nginx同时也是一个非常优秀的邮件代理服务器。

 

三、NginxApache简单对比:

1.Nginx相对Appaqi的优点:

- 轻量级,同样的web服务,比Apache占用更少的资源和内存;

- 抗并发,Nginx处理请求是异步非阻塞式,而Apache则是阻塞型。在高并发下,Nginx能保持低资源、低消耗、高性能;

- 高度模块化设计,编写模块相对简单;

- 社区活跃,各种高性能模块资源丰富;

- 代理功能强大;

2.Apache相对Nginx的优点:

- Nginxrewrite(服务器的重写脉冲技术、支持URL重写)更强大;

- 模块超多,现有的模块基本能满足所有需求;

- Nginx稳定,bug率少。

3.NginxApache应用场景对比:

- Apache适合跑动态,而Nginx适合跑静态和反向,但若静态文件较少,Apacheselect模块比Nginxepoll模块更好;

- Nginx适合于IO密集型服务,Apache适合与CPU密集型服务;

- 最好两者相结合,例如,lnmp架构,Nginx做前端服务器,处理静态文件请求,Apache做后端服务器,当客户发出动态文件请求时,Nginx的反向代理功能将请求转发到Apache

4.轻量级、高并发原因:

- 对于Apache,每个请求都独占一个工作线程,并发数在几千,占用内存、CPU,降低性能;

- 对于Nginx,一个进程只有一个主线程,通过异步非阻塞事件处理机制,实现了循环处理多个准备好的事件,从而实现轻量级、高并发。

5.直接说明:
Apache属于专一性服务;

Nginx分阶进行,节省时间。

 

四、Nginx 服务器的搭建及配置

server1做如下操作:

1.安装

tar zxf nginx-1.12.0.tar.gz # 解压软件包

useradd -M -d /usr/local/lnmp/nginx -s /sbin/nologin -u 800 nginx # 添加nginx用户


2.编译前修改一些文件

cd nginx-1.12.0/src/core/

vim nginx.h # 编辑nginx.h文件

 14 #define NGINX_VER          "nginx" # 修改此行,为了安全,这样编译后外界无法获取程序的版本号


cd /root/nginx-1.12.0/auto/cc/

vim gcc # 编辑gcc文件

171 # debug

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Docker Compose是一个用于定义和运行多个Docker容器的工具。通过使用Docker Compose,您可以快速搭建LNMPLinuxNginx、MySQL、PHP)开发环境。下面是一个快速搭建LNMP开发环境的示例docker-compose.yml文件: ```yaml version: '3' services: nginx: image: nginx:latest ports: - 80:80 volumes: - ./nginx.conf:/etc/nginx/nginx.conf - ./html:/usr/share/nginx/html depends_on: - php php: image: php:7.4-fpm volumes: - ./php.ini:/usr/local/etc/php/php.ini - ./html:/var/www/html depends_on: - mysql mysql: image: mysql:latest ports: - 3306:3306 environment: - MYSQL_ROOT_PASSWORD=your_password volumes: - ./mysql:/var/lib/mysql ``` 在上面的示例中,我们定义了三个服务:nginx、php和mysql。nginx服务使用nginx:latest镜像,并将主机的80端口映射到容器的80端口。同时,我们将nginx.conf文件和html文件夹分别挂载到容器内的对应路径。php服务使用php:7.4-fpm镜像,并将php.ini文件和html文件夹挂载到容器内的对应路径。mysql服务使用mysql:latest镜像,并将主机的3306端口映射到容器的3306端口。我们还设置了MYSQL_ROOT_PASSWORD环境变量,并将mysql文件夹挂载到容器内的/var/lib/mysql路径。 要快速搭建LNMP开发环境,您只需在包含docker-compose.yml文件的目录中运行以下命令: ```shell docker-compose up -d ``` 这将启动所有定义的服务,并将它们放在后台运行。现在,您可以通过访问http://localhost来访问您的LNMP开发环境。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值