Nginx 与 PHP 环境设置方案
yuyutoo 2024-11-20 23:55 1 浏览 0 评论
Nginx 介绍:
Nginx就是反向代理服务器。
首先我们先来看看什么是代理服务器,代理服务器一般是指局域网内部的机器通过代理服务发送请求到互联网上的服务器,代理服务器一般作用于客户端。
一个完整的代理请求过程为:客户端首先与代理服务器创建连接,然后根据代理服务器所使用的代理协议,请求对目标服务器创建连接、或则获得目标服务器的指定资源。Web代理服务器是网络的中间实体。代理位于Web客户端和Web服务器之间,扮演“中间人”的角色。
HTTP的代理服务器既是Web服务器又是Web客户端。
代理服务器是介于客户端和Web服务器之间的另一台服务器,有了它之后,浏览器不是直接到Web服务器去取回网页,而是通过向代理服务器发送请求,信号会先送到代理服务器,由代理服务器来取回浏览器所需要的信息并传送给你的浏览器。
正向代理是一个位于客户端和原始服务器之间的服务器,为了从原始服务器取的内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端,客户端必须要进行一些特别的设置才能使用正向代理。
反向代理服务器:在服务器端接收客户端的请求,然后把请求分发给具体的服务器进行处理,然后再将服务器的响应结果反馈给客户端。Nginx就是其中的一种反向代理服务器软件。
Nginx:Nginx(“engine x”),Nginx是俄罗斯人Igor Sysoev(塞索耶夫)编写的一款高性能的 HTTP 和反向代理服务器一样。也是一个IMAP/POP3/SMTP代理服务器,也就是说,Nginx本身就可以托管网站,进行HTTP服务处理,也可以作为反向代理服务器使用。
正向代理客户端必须设置正向代理服务器,当然前提是要知道正向代理服务器的IP地址,还有代理程序的端口。
反向代理正好与正向代理相反,对于客户端而言代理服务器就像是原始服务器,并且客户端不需要进行任何特别的设置。客户端向反向代理的命名空间中的内容发送普通请求,接着反向代理将判断向哪个原始服务器转交请求,并将获得的内容返回给客户端。
Nginx 一般会采用与mysql 和 PHP 结合使用。一般会用在Linux 系统下。
备注:
本次安装是基于CENTOS 7 版本OS
依赖包安装:
yum install pcre-devel zlib-devel openssl-devel libxml2-devel sqlite-devel libcurl-devel wget lsof -y
yum install -y gcc gcc-c++ make sudo autoconf libtool-ltdl-devel gd-devel freetype-devel libxml2-devel libjpeg-devel libpng-devel openssl-devel curl-devel patch libmcrypt-devel libmhash-devel ncurses-devel bzip2 libcap-devel ntp sysklogd diffutils sendmail iptables unzip cmake
添加用户给Nginx 和Mysql 数据库。
User add:
groupadd mysql
useradd -r mysql -g mysql
groupadd www
useradd -r www -g www
Mysql 安装:
下载地址
wget http://repo.mysql.com/mysql80-community-release-el7.rpm
rpm -ivh mysql80-community-release-el7.rpm
安装mysql
yum install mysql mysql-server -y
安装完成后可用对mysql 进行配置 /etc/my.cnf
datadir 使用来保存数据地址的 默认是/var/lib/mysql 那我改为/data 并授权访问
datadir=/data
chown mysql:mysql -R /data
允许mysql 数据库有访问权限和管理权限
chown mysql:mysql -R /var/lib/mysql
chown mysql:mysql -R /var/run/mysqld/
yum update -y
yum install mysql-server -y
初始化mysql 数据库:
登录mysql 用户。初始化数据库。
su mysql
mysqld –initialize
service mysqld start
查看临时密码:
cat /var/log/mysqld.log|grep password
查看临时密码后,然后使用临时密码登录:
更改mysql 密码:pjR:0CtcuFxo 为临时密码。密码为MyPassword@123
mysqladmin -uroot -p'pjR:0CtcuFxo' password’MyPassword@123’
第一次登录 更改:
alter user user() identified by 'MyPassword@123';
mysqladmin -uroot -p'pjR:0CtcuFxo' password’MyPassword@123’
alter user 'root' identified by 'MyPassword@123';
Nginx 下载地址:
http://nginx.org/download/
可以使用命令下载:
wget http://nginx.org/download/nginx-1.9.9.tar.gz
wget http://nginx.org/download/nginx-1.9.9.zip
解压nginx-1.9.9.tar.gz
tar xvf nginx-1.9.9.tar.gz
创建安装路径
mkdir /usr/local/nginx
./configure --prefix=/usr/local/nginx --without-http_rewrite_module --user=www --group=www
make 进行编译
make install 进行安装
配置路径设置
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
先切换到 /usr/local/nginx/sbin/ 目录下,然后执行 ./nginx -s reload 就可
也可以使用如下命令:
/usr/local/nginx/sbin/nginx -s reload
ps -ef |grep nginx 查看进程
lsof -i:80 查看端口占用情况
systemctl stop firewalld.service
添加端口:
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" port protocol="tcp" port="80" accept"
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" port protocol="tcp" port="9000" accept"
firewall-cmd --reload
设置完成
PHP支持设置:
PHP 下载
mkdir /usr/local/php
wget https://www.php.net/distributions/php-8.0.8.tar.gz
tar xvf php-8.0.8.tar.gz
cd php-8.0.8
配置文件:
./configure --prefix=/usr/local/php --with-curl --with-mysqli --with-openssl --with-pdo-mysql --enable-fpm --with-zlib-dir --enable-sockets --without-pear --disable-phar
编译和安装:
make
make test
make install
PHP 配置:
cd /usr/local/php
cp etc/php-fpm.conf.default etc/php-fpm.conf
cp etc/php-fpm.d/www.conf.default etc/php-fpm.d/www.conf
cp /root/soft/php-8.0.8/php.ini-production lib/php.ini
PHP 启动:
/usr/local/php/sbin/php-fpm
Nginx PHP 支持配置
vi /usr/local/nginx/conf/nginx.conf
打开如下功能,在/home/html 下添加PHP 文件
location ~ \.php$ {
root /home/html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /home/html/$fastcgi_script_name;
include fastcgi_params;
}
/usr/local/nginx/sbin/nginx -s reload
MYSQL 使用
更改密码策略:
set global validate_password.length = 6 ;
set global validate_password.policy = 'LOW';
FLUSH PRIVILEGES;
添加用户和密码:
create user mysql@locahost identified by 'MyNew123@123'
相关推荐
- 史上最全的浏览器兼容性问题和解决方案
-
微信ID:WEB_wysj(点击关注)◎◎◎◎◎◎◎◎◎一┳═┻︻▄(页底留言开放,欢迎来吐槽)●●●...
-
- 平面设计基础知识_平面设计基础知识实验收获与总结
-
CSS构造颜色,背景与图像1.使用span更好的控制文本中局部区域的文本:文本;2.使用display属性提供区块转变:display:inline(是内联的...
-
2025-02-21 16:01 yuyutoo
- 写作排版简单三步就行-工具篇_作文排版模板
-
和我们工作中日常word排版内部交流不同,这篇教程介绍的写作排版主要是用于“微信公众号、头条号”网络展示。写作展现的是我的思考,排版是让写作在网格上更好地展现。在写作上花费时间是有累积复利优势的,在排...
- 写一个2048的游戏_2048小游戏功能实现
-
1.创建HTML文件1.打开一个文本编辑器,例如Notepad++、SublimeText、VisualStudioCode等。2.将以下HTML代码复制并粘贴到文本编辑器中:html...
- 今天你穿“短袖”了吗?青岛最高23℃!接下来几天气温更刺激……
-
最近的天气暖和得让很多小伙伴们喊“热”!!! 昨天的气温到底升得有多高呢?你家有没有榜上有名?...
- CSS不规则卡片,纯CSS制作优惠券样式,CSS实现锯齿样式
-
之前也有写过CSS优惠券样式《CSS3径向渐变实现优惠券波浪造型》,这次再来温习一遍,并且将更为详细的讲解,从布局到具体样式说明,最后定义CSS变量,自定义主题颜色。布局...
- 你的自我界限够强大吗?_你的自我界限够强大吗英文
-
我的结果:A、该设立新的界限...
- 行内元素与块级元素,以及区别_行内元素和块级元素有什么区别?
-
行内元素与块级元素首先,CSS规范规定,每个元素都有display属性,确定该元素的类型,每个元素都有默认的display值,分别为块级(block)、行内(inline)。块级元素:(以下列举比较常...
-
- 让“成都速度”跑得潇潇洒洒,地上地下共享轨交繁华
-
去年的两会期间,习近平总书记在参加人大会议四川代表团审议时,对治蜀兴川提出了明确要求,指明了前行方向,并带来了“祝四川人民的生活越来越安逸”的美好祝福。又是一年...
-
2025-02-21 16:00 yuyutoo
- 今年国家综合性消防救援队伍计划招录消防员15000名
-
记者24日从应急管理部获悉,国家综合性消防救援队伍2023年消防员招录工作已正式启动。今年共计划招录消防员15000名,其中高校应届毕业生5000名、退役士兵5000名、社会青年5000名。本次招录的...
- 一起盘点最新 Chrome v133 的5大主流特性 ?
-
1.CSS的高级attr()方法CSSattr()函数是CSSLevel5中用于检索DOM元素的属性值并将其用于CSS属性值,类似于var()函数替换自定义属性值的方式。...
- 竞走团体世锦赛5月太仓举行 世界冠军杨家玉担任形象大使
-
style="text-align:center;"data-mce-style="text-align:...
- 学物理能做什么?_学物理能做什么 卢昌海
-
作者:曹则贤中国科学院物理研究所原标题:《物理学:ASourceofPowerforMan》在2006年中央电视台《对话》栏目的某期节目中,主持人问过我一个的问题:“学物理的人,如果日后不...
-
- 你不知道的关于这只眯眼兔的6个小秘密
-
在你们忙着给熊本君做表情包的时候,要知道,最先在网络上引起轰动的可是这只脸上只有两条缝的兔子——兔斯基。今年,它更是迎来了自己的10岁生日。①关于德艺双馨“老艺...
-
2025-02-21 16:00 yuyutoo
你 发表评论:
欢迎- 一周热门
- 最近发表
- 标签列表
-
- mybatis plus (70)
- scheduledtask (71)
- css滚动条 (60)
- java学生成绩管理系统 (59)
- 结构体数组 (69)
- databasemetadata (64)
- javastatic (68)
- jsp实用教程 (53)
- fontawesome (57)
- widget开发 (57)
- vb net教程 (62)
- hibernate 教程 (63)
- case语句 (57)
- svn连接 (74)
- directoryindex (69)
- session timeout (58)
- textbox换行 (67)
- extension_dir (64)
- linearlayout (58)
- vba高级教程 (75)
- iframe用法 (58)
- sqlparameter (59)
- trim函数 (59)
- flex布局 (63)
- contextloaderlistener (56)