Nginx实现web架构
Nginx实现web架构
企业中网站架构
LNMP :linux Nginx MySQL PHP
LAMP :Linux Apache MySQL PHP
LNMT :Linux Nginx MySQL Tomcat
LAMT :Linux Apache MySQL Tomcat
Nginx
Apache
运行:html css js
PHP :运行php代码
Tomcat :运行java代码
部署PHP
# 1.卸载Linux自带的旧版本php
[root@web02 ~]# yum remove php-mysql-5.4 php php-fpm php-common
# 2.添加php第三方源
[root@web02 ~]# 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
[root@web02 ~]# yum -y install php71w php71w-cli php71w-common php71w-devel php
71w-embedded php71w-gd php71w-mcrypt php71w-mbstring php71w-pdo php71w-xml php7
1w-fpm php71w-mysqlnd php71w-opcache php71w-pecl-memcached php71w-pecl-redis ph
p71w-pecl-mongodb
# 4.创建用户
[root@web02 ~]# groupadd www -g 666
[root@web02 ~]# useradd WWW -u 666 -g 666 -s /sbin/nologin -M
# 5.修改nginx运行用户
[root@web02 ~]# vim /etc/nginx/nginx.conf
user www;
php-fpm作用:用来管理php程序运行
# php相关配置文件
/etc/php-fpm.conf # php管理进程配置文件
/etc/php.ini # php程序配置文件
/etc/php-fpm.d/www.conf # php管理进程的子配置文件
# 6.修改php的启动用户
[root@web02 ~]# vim /etc/php-fpm.d/www.conf
user = www
group = www
# 7.启动php并加入开机自启
[root@web02 ~]# systemctl start php-fpm
[root@web02 ~]# systemctl enable php-fpm
# 8.检查php端口和进程
[root@web02 ~]# ps -ef |grep php
root 12841 1 0 15:48 ? 00:00:00 php-fpm: master process (/etcphp-fpm.conf)
www 12842 12841 0 15:48 ? 00:00:00 php-fpm: pool www
www 12843 12841 0 15:48 ? 00:00:00 php-fpm: pool www
www 12844 12841 0 15:48 ? 00:00:00 php-fpm: pool www
www 12845 12841 0 15:48 ? 00:00:00 php-fpm: pool www
www 12846 12841 0 15:48 ? 00:00:00 php-fpm: pool www
root 12876 12624 0 15:50 pts/0 00:00:00 grep --color=auto php
[root@web02 ~]# netstat -lntup |grep php
tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 12841/php-fpm: mast
配置nginx连接php
[root@web02 ~]# vim /etc/nginx/conf.d/kaoshi.conf
server{
listen 80 ;
server_name 10.0.0.8;
location /{
root /movie;
index index.php index.html;
}
location ~ \.php$ {
root /movie;
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include /etc/nginx/fastcgi_params;
}
}
# 创建站点目录
[root@web02 ~]# mkdir /movie
# 将压缩包放入站点目录并解压
# 修改站点目录属主和属组
[root@web02 ~]# chown www.www /movie
部署wordpress
# 1.编辑nginx配置文件
[root@web01 ~]# vim /etc/nginx/conf.d/blog.zh.com.conf
server{
listen 80;
server_name blog.zh.com;
location /{
root /blog;
index index.php index.html;
}
location ~ /.php$ {
root /blog;
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name
;
include /etc/nginx/fastcgi_params;
}
}
# 2.重新加载nginx
[root@web01 ~]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
[root@web01 ~]# systemctl reload nginx
# 3.创建站点目录并授权
[root@web01 ~]# mkdir /blog
# 4.测试nginx连接php (编写php info代码)
[root@web01 ~]# vim /blog/info.php
<?php
phpinfo();
?>
# 5.windows域名解析
win + r + drivers
10.0.0.7 blog.zh.com
# 6打开浏览器访问 hppt://blog.zh.com/info.php
# 7.下载wordpress代码
wordpress官网:https://wordpress.org/
[root@web01 blog]# wget https://cn.wordpress.org/latest-zh_CN.tar.gz
# 8.解压代码
[root@web01 blog]# tar xf latest-zh_CN.tar.gz
# 9.修改配置文件
[root@web01 blog]# vim /etc/nginx/conf.d/blog.zh.com.conf
server{
listen 80;
server_name blog.zh.com;
root /blog/wordpress;
location /{
index index.php index.html;
}
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name
;
include /etc/nginx/fastcgi_params;
}
}
# 10.重新加载配置文件并修改权限
[root@web01 blog]# systemctl reload nginx
[root@web01 blog]# chown -R www.www /blog/wordpress/
# 在浏览器访问:http://blog.zh.com/
安装数据库
# 数据库是C/S结构
# 默认端口:3306
# 1.安装mariadb
[root@web01 blog]# yum -y install mariadb-server
# 2.启动数据库并加入到开机自启
[root@web01 blog]# systemctl start mariadb
[root@web01 blog]# systemctl enable mariadb
# 3.登录数据库
[root@web01 blog]# systemctl enable mariadb
# 4.查看所有库
MariaDB [(none)]> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| test |
+--------------------+
4 rows in set (0.00 sec)
# 5.切换数据库
MariaDB [(none)]> use mysql
# 6.查看数据库中所有表
MariaDB [mysql]> show tables;
# 7.创建数据库
MariaDB [(none)]> create database wordpress;
# 8.创建用户
MariaDB [(none)]> grant all on *.* to wp@'localhost' identified by '123';
# 9.查看用户
MariaDB [(none)]> select user,host from mysql.user;
+------+-----------+
| user | host |
+------+-----------+
| root | 127.0.0.1 |
| root | ::1 |
| | localhost |
| root | localhost |
| wp | localhost |
| | web01 |
| root | web01 |
+------+-----------+
7 rows in set (0.00 sec)
# 10.退出数据库
exit
quit
\q
数据库的名字 :wordpress
连接用户名字 :wp
连接密码 :123
连接IP :localhost
修改鼠标样式
[root@web01 themes]# cd /blog/wordpress/wp-content/themes/
[root@web01 themes]# wget http://test.driverzeng.com/Nginx_Code/QQ2.8.zip
[root@web01 themes]# cd QQ2.8/
[root@web01 QQ2.8]# vim header.php
<script type="text/javascript">
/* 鼠标特效 */
$(function() {
var a_idx = 0,
b_idx = 0;
c_idx = 0;
jQuery(document).ready(function($) {
$("body").click(function(e) {
var a = new Array("苍井空", "武藤兰", "小泽玛利亚","泷泽萝拉", "波多野结衣", "吉泽 明步", "西野翔", "饭岛爱", "天海翼", "邱老师" ,"麻生希", "绫濑遥", "滨崎步", "黑木瞳", "由加 奈"),
b = new Array("#09ebfc", "#ff6651", "#ffb351", "#51ff65", "#5197ff", "#a551ff", "#ff51f7", "#ff518e", "#ff5163", "#efff51"),
c = new Array("12", "14", "16", "18", "20", "22", "24", "26", "28", "30");
var $i = $("<span/>").text(a[a_idx]);
a_idx = (a_idx + 1) % a.length;
b_idx = (b_idx + 1) % b.length;
c_idx = (c_idx + 1) % c.length;
var x = e.pageX,
y = e.pageY;
$i.css({
"z-index": 999,
"top": y - 20,
"left": x,
"position": "absolute",
"font-weight": "bold",
"font-size": c[c_idx] + "px",
"color": b[b_idx]
});
$("body").append($i);
$i.animate({
"top": y - 180,
"opacity": 0
}, 1500, function() {
$i.remove();
});
});
});
var _hmt = _hmt || [];
})
</script>
优化nginx上传大小
# 在http层添加配置
[root@web01 QQ2.8]# vim /etc/nginx/nginx.conf
client_max_body_size 8m;
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!