yum 安装nginx mysql php一套代码

注:为了方便说明,下面部署的这台服务器的ip为127.0.0.1,实验时请使用自己真实的ip

一 【nginx 安装】

参考官方文档 : http://nginx.org/en/linux_packages.html#stable

具体步骤
1.新建文件:vim /etc/yum.repos.d/nginx.repo
2.编辑并保持如下内容:

[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=0
enabled=1

可以使用 vim /etc/yum.repos.d/nginx.repo 来编辑,也可以是用其他文本编辑工具

3.使用yum安装

yum remove nginx  
yum install nginx

yum remove nginx , 是为了有旧的nginx,先卸载

二 【php7,php-fpm 安装】
具体步骤:
1.安装epel-release源

rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

2.安装PHP7的rpm源

rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

webtatic-release.rpm 依赖于 epel-release-latest-7.noarch.rpm

3.安装php7

yum remove php*
yum install php70w

yum remove php* 是为了卸载旧版本的php相关软件,不然如果版本不兼容可能会报下面错误:

image

4.安装php相关扩展

yum install php70w-fpm php70w-mysql php70w-xml php70w-mbstring php70w-openssl php70w-gd
yum install php-redis  #redis模块,根据需要选装

php70w-fpm : FastCGI进程管理器
因为php是以FastCGI方式运行的,当用户访问.html等静态页面的时候,nginx直接返回静态页面。当访问.php文件时,nginx会把处理权交给php-fpm,当对.php文件解释执行完成后,把执行结果返回给nginx,再由nginx返回给用户。
php70w-mysql:php操作mysql数据库扩展
php扩展很多,一般根据名称就能知道具体用处,就不多解释了。

centos8中不能用dnf和yum安装redis扩展的解决办法

$ wget https://github.com/phpredis/phpredis/archive/4.0.2.tar.gz
$ tar -zxvf phpredis-4.0.2.tar.gz
$ cd phpredis-4.0.2
$ /usr/local/php/bin/phpize              # php安装后的路径,如果没有请用(yum install php-devel命令)
$ ./configure --with-php-config=/usr/local/php/bin/php-config
$ make && make install

echo 'extension=redis.so' >> /usr/local/php/etc/php.ini

systemctl reload php-fpm
大功告成

三 【安装mysql】

yum -y install mariadb-server mariadb mariadb-devel

MariaDB是MySQL的一个开源分支,基本可以和MySQL通用。
mariadb-server : 服务器端
mariadb : 命令行客户端
mariadb-devel : 开发库

四 【启动相关服务】

1.启动nginx服务

systemctl start nginx.service              

2.启动php-fpm服务

$ sudo systemctl start php-fpm# 启动php-fpm
$ sudo systemctl stop php-fpm# 停止php-fpm
$ sudo systemctl reload php-fpm# 重载php-fpm
$ sudo systemctl restart php-fpm# 重启php-fpm

systemctl start php-fpm.service


3.启动mysql服务

systemctl start mariadb.service


> 使用 netstat -tnl 命令查看,如果80,9000,3306端口都已经被监听,说明nginx,php-fpm,mysql服务都已经启动成功,如图:
> 
> ![image](//upload-images.jianshu.io/upload_images/7551212-6782baa2f5d414f7.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/613/format/webp)
> 
> 在服务器防火墙能通过的情况下,在浏览器里地址栏里输入: http://106.15.72.29/,如果出现下图界面,表示nginx已经工作正常,恭喜您,网站可以访问静态页面了。
> 
> ![image](//upload-images.jianshu.io/upload_images/7551212-c43fccc94e7516e3.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/790/format/webp)
> 
> 如果要访问php动态页面 ,请继续往下看。
#### 五 【nginx配置】

1.打开 /etc/nginx/conf.d/default.conf ,在最上面添加如下代码并保存:

server {
        listen       80;
        server_name  www.test.com;
        client_max_body_size 64M;
        error_page   500 502 503 504  /50x.html;
        root   /opt/web/imapp;
        try_files $uri $uri/ @rewrite;
        location @rewrite {
            rewrite ^/(.*)$ /index.php?_url=/$1;
        }

        location ~ \.php {
                fastcgi_pass   127.0.0.1:9000;
                fastcgi_index  index.php; 
                fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
                include        fastcgi_params;

                fastcgi_split_path_info ^(.+\.php)(.*)$;
                fastcgi_param PATH_INFO $fastcgi_path_info;
        }

}

1.server_name www.test.com; 这里的www.test.com可以根据自己的域名解析修改,当域名解析后,可以根据不同的域名访问不同的server站点
2.root /opt/web/imapp; 这个是当前server站点的主目录,可以把php代码都放到这个目录下,请自行修改。
3.这里还做了去index.php的配置,可以将 http://127.0.0.1/index.php/user/login 简化为 http://127.0.0.1/user/login,有兴趣请自行研究。

2.重新加载配置文件

systemctl reload nginx.service

3.在/opt/web/imapp目录下新建一个test.php文件,编辑php代码并保存

<?php
phpinfo();
?>

4.访问地址:

http://106.15.72.29/test.php

如果出现下图,php页面执行成功

image

恭喜您,网站可以访问php动态页面了,环境搭建完成。

六 【服务进程的管理维护】

1.查看nginx服务状态

systemctl list-unit-files --type=service | grep nginx 

image

2.查看nginx的运行状态

systemctl status nginx.service   

image

3.设置nginx服务开机启动

systemctl enable nginx.service  

4.设置nginx服务开机不启动

systemctl disable nginx.service  
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,236评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,867评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,715评论 0 340
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,899评论 1 278
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,895评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,733评论 1 283
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,085评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,722评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,025评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,696评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,816评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,447评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,057评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,009评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,254评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,204评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,561评论 2 343