LNMP架构概述
web架构
# 需记住的端口() ftp:21 ssh:22 telnet:23 rsync:873 http:80 php:9000 mysql:3306 ...
LNMP架构概述
- Linux
- Nginx
- MySQL
- PHP (代码解析器)
代码解析器各类代码:
- PHP (php代码)
- tomcat (Java代码)
- Resin (Java代码)
- Python (python代码)
LNMP架构的工作流程
[
# 1.用户通过http协议发起请求,请求会先抵达LNMP架构中的Nginx # 2.Nginx会根据用户的请求进行判断,这个判断是有Location进行完成 # 3.判断用户请求的是静态页面,Nginx直接进行处理 # 4.判断用户请求的是动态页面,Nginx会将该请求交给fastcgi协议下发 # 5.fastgi会将请求交给php-fpm管理进程, php-fpm管理进程接收到后会调用具体的工作进程warrap # 6.warrap进程会调用php程序进行解析,如果只是解析代码php直接返回 # 7.如果有查询数据库操作,则由php连接数据库(用户 密码 IP)发起查询的操作 # 8.最终数据由*mysql->php->php-fpm->fastcgi->nginx->http->use
部署LNMP
1. 安装nginx
## 可以先打开缓存(keepcache),然后把部署完的包打包,给下一台机子的时候就可以使用本地安装了 [ ~]# vim /etc/yum.conf keepcache=1 # 1.更换官方源 [ ~]# vim /etc/yum.repos.d/nginx.repo [nginx-stable] name=nginx stable repo baseurl=http://nginx.org/packages/centos/$releasever/$basearch/ gpgcheck=1 enabled=1 gpgkey=https://nginx.org/keys/nginx_signing.key module_hotfixes=true # 2.安装nginx [ ~]# yum install -y nginx
2. 安装php
# 1.先卸载系统自带的php5.4 (一般centos6里面会有,7没有) [ ~]# yum remove php-mysql-5.4 php php-fpm php-common # 2.更改php源 [ ~]# vim /etc/yum.repos.d/php.repo [php-webtatic] name = PHP Repository baseurl = http://us-east.repo.webtatic.com/yum/el7/x86_64/ gpgcheck = 0 # 3.安装php [ ~]# yum -y install php71w php71w-cli php71w-common php71w-devel php71w-embedded php71w-gd php71w-mcrypt php71w-mbstring php71w-pdo php71w-xml php71w-fpm php71w-mysqlnd php71w-opcache php71w-pecl-memcachedphp71w-pecl-redis php71w-pecl-mongodb
3.统一Nginx和php的用户
注意:
php服务有两个配置文件
1.php-fpm.conf (管理php进程的相关配置文件)
2.php.ini (管理php的程序相关配置文件)
# 1.创建用户和用户组 [ ~]# groupadd www -g 666 [ ~]# useradd www -u 666 -g 666 -s /sbin/nologin -M # 2.让nginx使用www用户 [ ~]# vim /etc/nginx/nginx.conf ... user www; ... # 3.启动nginx并加入开机自启 [ ~]# systemctl start nginx [ ~]# systemctl enable nginx # 4.修改php用户 [ ~]# vim /etc/php-fpm.d/www.conf user = www group = www # 5.启动php并加入开机自启 [ ~]# systemctl start php-fpm [ ~]# systemctl enable php-fpm
4.安装部署mariadb(MySQL)
# 1.安装mariadb [ ~]# yum install mariadb-server -y # 2.启动服务,并加入开机自启 [ ~]# systemctl start mariadb [ ~]# systemctl enable mariadb # 3.给root用户密码 [ ~]# mysqladmin -uroot password ‘123‘ # 4.连接数据库 [ ~]# mysql -uroot -p123 MariaDB [(none)]>
5.使用nginx连接php
模块ngx_http_fastcgi_module
作用:nginx服务代理php服务
############### nginx服务代理php服务 例如: location / { # 一般写~/.php$,下面还需加一个目录。 fastcgi_pass localhost:9000; fastcgi_index index.php; # 这个目录基本都写变量($document_root) index.php的一个变量 fastcgi_param SCRIPT_FILENAME /home/www/scripts/php$fastcgi_script_name; fastcgi_param QUERY_STRING $query_string; fastcgi_param REQUEST_METHOD $request_method; fastcgi_param CONTENT_TYPE $content_type; fastcgi_param CONTENT_LENGTH $content_length; } # 具体如何配置可以看/etc/nginx/conf.d/default.conf里面是怎么配置这个模块的 ... location ~ \.php$ { root html; fastcgi_pass 127.0.0.1:9000; # 代理后端的php服务本地IP和端口 fastcgi_index index.php; # 寻找的php页面 fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; # root和fastcgi_index的变量 include fastcgi_params; # 包含fastcgi_params里面的所有变量解析文件 ...
5.1 修改nginx的配置文件连接php
# 修改配置文件 [ ~]# vim /etc/nginx/conf.d/php.conf server { listen 80; server_name www.php.com; # 当输入域名,没有接任何uri的时候,会走location / location / { # 站点目录:/code/wordpress root /code/wordpress; # index.php的代码,如果没有index.php,那么就找index.html页面 index index.php index.html; } # 当访问到区分大小写,以php结尾的url时 location ~ \.php$ { # 站点目录 root /code/wordpress; # 代理后端的php服务 fastcgi_pass 127.0.0.1:9000; # 默认页面时index.php fastcgi_index index.php; #当请求过来之后,会看这一行, 在/code/wordpress目录下 wp-admin/setup-config.php,交给php解析 (变量) fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; #包含fastcgi 变量解析文件 include fastcgi_params; } }
5.2 检测nginx是否能连接成功php
# 1.域名解析 # 2.创建站点目录 [ ~]# mkdir -p /code/wordpress # 3.在站点目录下,创建一个info.php,写入php代码 [ ~]# vim /code/wordpress/info.php <?php phpinfo(); ?> # 4.访问域名 # 5.成功后把info.php文件删了,据说这个文件很危险
www.php.com/info
[
代表连接成功,然后php通过开发写的代码连接mysql
6.部署wordpress
#### 这个是搭建博客的工具
操作MySQL
# 1.连接数据库 [ php]# mysql -uroot -p123 # 2.创建数据库 MariaDB [(none)]> create database wp; # 3.查看是否创建成功 MariaDB [(none)]> show databases; # 4.创建WordPress连接数据库的用户和密码 MariaDB [(none)]> grant all on wp.* to ‘localhost‘ identified by ‘111‘; # 5.给站点目录授权 [ php]# chown -R www.www /code/wordpress/ # 6.在这个目录下解压你想要的博客主题样式 /code/wordpress/wp-content/themes
](https://imgchr.com/i/Y7yvQK)
[
](https://imgchr.com/i/Y76ESP)
[
](https://imgchr.com/i/Y7yORx)
然后就是登入了
搭建完成
相关推荐
zyyjay 2020-11-09
xuebingnan 2020-11-05
samtrue 2020-11-22
stefan0 2020-11-22
yifangs 2020-10-13
songshijiazuaa 2020-09-24
hebiwtc 2020-09-18
天步 2020-09-17
83911535 2020-11-13
whatsyourname 2020-11-13
zhouyuqi 2020-11-10
Noneyes 2020-11-10
mathchao 2020-10-28
王志龙 2020-10-28
wwwsurfphpseocom 2020-10-28
diskingchuan 2020-10-23
savorTheFlavor 2020-10-23