LNMP环境搭建——Nginx篇

Nginx

1.Nginx配置文件测试

root@kallen:/usr/local/nginx/sbin# nginx -t 
 nginx: the configuration file /etc/nginx/nginx.conf  syntax is ok 
 nginx: configuration file /etc/nginx/nginx.conf test is successful

2.Nginx启动

[root@kallen ~]# /usr/local/nginx/sbin/nginx 

3.Nginx负载均衡

Nginx Architecture:
这里写图片描述
Nginx LoadBalance:
这里写图片描述
Nginx High Availability:
这里写图片描述
Nginx Access Process:
这里写图片描述
Nginx 的 upstream 目前支持4 种方式的分配——

(1)轮询(默认) :

每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。

(2)weight :

指定轮询几率,weight 和访问比率成正比,用于后端服务器性能不均的情况。

(3)ip_hash :

每个请求按访问ip 的hash 结果分配,这样每个访客固定访问一个后端服务器,可以解决session 的问题。可以针对同一个C 类地址段中的客户端选择同一个后端服务器,除非那个后端服务器宕了才会换一个。

(4)fair(第三方):

按后端服务器的响应时间来分配请求,响应时间短的优先分配。

(5)url_hash(第三方):

按访问url 的hash 结果来分配请求,使每个url 定向到同一个后端服务器,后端服务器为缓存时比较有效。

4.Nginx安装及配置

(1) nginx源码安装

[root@kallen ~]# cd /usr/local/src/
[root@kallen ~]# wget http://syslab.comsenz.com/downloads/linux/nginx-0.9.6.tar.gz
[root@kallen ~]# tar zxvf nginx-0.9.6.tar.gz
[root@kallen ~]# cd nginx-0.9.6
./configure --prefix=/usr/local/nginx 
--sbin-path=/usr/local/nginx/sbin/nginx 
--conf-path=/usr/local/nginx/conf/nginx.conf 
--error-log-path=/usr/local/nginx/logs/error.log 
--http-log-path=/usr/local/nginx/logs
### 详细的LNMP环境搭建步骤和配置指南 #### 准备工作 确保操作系统已经更新到最新版本并安装必要的开发工具包。对于基于Red Hat的企业版Linux(RHEL)、CentOS或Fedora,可以使用如下命令来完成这些操作[^2]: ```bash sudo yum update -y && sudo yum groupinstall "Development Tools" -y ``` #### 安装Nginx Web服务器 通过官方源或其他可信第三方源获取最新的稳定版Nginx软件包,并执行安装: ```bash sudo yum install epel-release -y sudo yum install nginx -y ``` 启动服务并将它设置为开机自启: ```bash sudo systemctl start nginx sudo systemctl enable nginx ``` #### 配置MariaDB/MySQL数据库管理系统 为了提高性能与安全性建议采用社区维护的分支——MariaDB替代原生MySQL。先添加仓库再继续安装流程: ```bash sudo vi /etc/yum.repos.d/MariaDB.repo # 添加对应版本库信息后保存退出编辑器... sudo yum install mariadb-server -y ``` 初始化安全选项并向防火墙开放端口访问权限: ```bash sudo mysql_secure_installation sudo firewall-cmd --add-service=mysql --permanent sudo firewall-cmd --reload ``` 最后同样要记得开启服务以及设定随系统引导自动加载: ```bash sudo systemctl start mariadb sudo systemctl enable mariadb ``` #### PHP解释器及相关扩展模块的选择 考虑到兼容性和功能需求,这里推荐选用PHP7.x系列及以上版本。由于默认yum源可能不提供较新的发行号,因此需借助外部资源如Remi's RPM repository来进行升级处理。 ```bash sudo rpm -Uvh https://rpms.remirepo.net/enterprise/remi-release-7.rpm sudo yum-config-manager --enable remi-php74 # 或者其他想要启用的具体子版本编号 sudo yum install php php-fpm php-mysqlnd -y # 根据实际项目依赖情况增减组件列表项 ``` 调整php.ini文件中的参数以适应Web应用运行环境的要求;同时修改/etc/php-fpm.d/www.conf内的监听地址以便于后续集成至Nginx反向代理机制之中。 #### Nginx与PHP-FPM协同工作的实现方式 编辑站点对应的server block模板,在location ~ \.php$ {}区块内部指定fastcgi_pass指向本地FastCGI进程管理守护程序实例所占用的Unix Socket路径或是TCP/IP套接字位置。 ```nginx location ~ \.php$ { include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_pass unix:/var/run/php-fpm.sock; # 对应于unix socket形式 } ``` 重启相关联的服务单元使更改生效即可完成整个部署过程。
评论 23
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值