linux部署lnmp环境

检查是否安装该程序:

which nginx           #查看nginx是否存在
which php             #查看php是否存在
which mysql          #查看mysql是否存在

Nginx安装

yum list nginx             #列出nginx
yum install nginx        #安装nginx

看见{Complete! } 安装成功。
安装完nginx之后访问本机ip,结果直接报错,然后去查看var目录下查看nginx错误日志,看到如下错误信息,意思是html下面没有

directory index of "/usr/share/nginx/html/" is forbidden

如果在/usr/share/nginx/html下面没有index.php,index.html的时候,直接访问域名,找不到文件,会报403 forbidden。
解决办法:直接输入以下命令:

#删除index.html文件
rm /usr/share/nginx/html/index.html
#在 /usr/share/nginx/html目录下面新建一个index.php文件,内容是
<?php
      phpinfo(); 
?>

还有一个原因就是你的默认的nginx配置文件的location没有指定root路径,我的就是这个问题,这个就直接在默认的 /etc/nginx/nginx.conf 内容里的 server上面加上:

location / {
    root   html;
    index  index.php index.html index.htm;
}

如果还是不能正常访问,那就进到nginx的默认配置文件里去找一下,看看有没有如下代码:

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

上面代码的意思是把php文件交给php-fpm处理,php-fpm占用的端口号是9000。

nginx隐藏入库文件

nignx/conf下有vhosts.conf这个文件的话,在这个文件里配置,当有这个文件的时候,在nginx.conf里配置是不起作用的。没有的话就在nginx.conf文件配置.
注意:nginx隐藏入口文件,找到nginxvhost文件,在server 里加入如下:

location / {
   if (!-e $request_filename) {
        rewrite  ^(.*)$  /index.php?s=/$1  last;
    }
}

就Ok了。
配置完以后,记得重启nginx,或者reload一下:
重启nginx:

nginx -s stop
nginx
或者
nginx -s reopen

下面是重新加载nginx的配置文件(推荐这种方式):

service nginx reload

找到nginx的安装目录:

[root@localhost nginx]# which nginx
/usr/sbin/nginx             #这个是yum安装后默认所在位置

查看nginx的命令提示:

[root@localhost nginx]# nginx -h
nginx version: nginx/1.10.2
Usage: nginx [-?hvVtTq] [-s signal] [-c filename] [-p prefix] [-g directives]

Options:
  -?,-h         : this help
  -v            : show version and exit
  -V            : show version and configure options then exit
  -t            : test configuration and exit
  -T            : test configuration, dump it and exit
  -q            : suppress non-error messages during configuration testing
  -s signal     : send signal to a master process: stop, quit, reopen, reload
  -p prefix     : set prefix path (default: /usr/share/nginx/)
  -c filename   : set configuration file (default: /etc/nginx/nginx.conf)
  -g directives : set global directives out of configuration file

启动 Nginx
which nginx #查看nginx是否存在
service nginx start #启动nginx进程方法[1]
/etc/init.d/nginx start #启动nginx进程方法[2]
ps -ef | grep nginx #查看nginx进程
ps -le #查看nginx进程
ifconfig #查看网卡信息
打开浏览器:http://182.92.73.109/
看到 { 欢迎界面 } 说明安装成功!
注意:ip访问,这里的ip是公网ip

Php安装

查看php使用的php.ini文件的位置,使用的命令是php -i |grep php.ini(非常好用的一条命令)

yum list php php-fpm              #列出php 和php-fpm 是否存在
yum -y install php php-fpm     #安装php 和php-fpm软件包

看见{Complete! } 安装成功。
启动php-fpm:

service php-fpm start   // 1.启动php-fpm
/bin/systemctl start php-fpm.service  // 2.启动php-fpm

--php扩展安装
如:

yum list php-gd  
yum install php-gd 

redis安装

yum list redis
yum install redis

php扩展安装完成后,重启php-fpm

// 重启php-fpm
/bin/systemctl restart php-fpm.service
// 启动redis
/bin/systemctl restart redis.service
// 查看redis进程
ps -le | grep redis

注意:redis如果需要守护进程启动,需要再redis.conf配置文件128行

daemonize no // 将 no 改成 yes

将 no 改成 yes,然后进入 /usr//bin 系统用户使用的应用程序下,找到 redis-cli 启动

/usr/bin/redis-cli
[root@VM_0_6_centos bin]# redis-cli
127.0.0.1:6379>

出现此则成功了,进行set name xiaochi 设置 ok ,然后 get name,获取成功

Mysql安装

yum list mysql mysql-server            #搜索mysql数据包
yum -y install mysql mysql-server    #不需要提示安装

看见{Complete! } 安装成功。如果出现 No package mysql-server available错误,是因为我们本地yum仓库中没有可用的mysql-server rpm包,解决:

// 在Centos 7上使用
rpm -ivh https://repo.mysql.com//mysql57-community-release-el7-11.noarch.rpm
// Centos 6上安装mysql rpm包
rpm -ivh https://repo.mysql.com//mysql57-community-release-el6-11.noarch.rpm

rpm软件包安装好之后,我们就可以使用 yum install mysql-server 命令来安装mysql了。
查看mysql mysql-server是否存在:

which mysql                   #查看mysql是否存在

验证mysql是否启动成功命令,使用netstat命令

    netstat -nap |grep 3306
    tcp   0   0 0.0.0.0:3306   0.0.0.0:*    LISTEN    4571/mysqld

启动mysql

    service mysqld start      #启动mysql

最后需要查看mysql5.7的初始化密码(如果是mysql5.6的话默认密码应该为空,不需要此命令查询)

grep 'temporary password' /var/log/mysqld.log

输出类似如下的随机密码:

2017-11-08T16:24:46.311098Z 1 [Note] A temporary password is generated for [root@localhost](mailto:root@localhost): MtPqF0/oN5zoSfdff

MtPqF0/oN5zoSfdff是就是初始密码
然后输入mysql -uroot -p命令登录mysql服务器,并修改mysql初始化密码。

//输入初始化密码登录之后,重新设置mysql密码
mysql> set password for root@localhost = password('123456');
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

这时会报错,因为为了加强安全性,MySQL5.7为root用户随机生成了一个密码,在error log中,关于error log的位置,如果安装的是RPM包,则默认是/var/log/mysqld.log。一般可通过log_error设置
设置密码的格式,必须有数字,字母,特殊符号,所以需要为了方便设置密码123456,需要进行如下设置

  mysql> set global validate_password_policy=0;
  mysql> set global validate_password_length=1;
  mysql> set global validate_password_mixed_case_count=2;

然后再进行设置密码

  mysql> set password for root@localhost = password('123456');

ok了,quit退出mysql。
然后进行测试,进入到 usr/share/nginx/html 目录下,找到index.php并输入

  $link = mysqli_connect('localhost','root','123456','test');
  if($link){
       echo 'ok';
  }else{
       echo 'error';
  }

注意:先 cd usr/bin 访问系统用户应用程序目录,进入登陆 mysql -uroot -p 进入 mysql 查看 show databases 是否有 test 这个数据库,没有则创建(create database test)
在访问当前腾讯云服务器 公ip,地址栏输入 http://118.24.188.68/,输出ok,表示成功链接Mysql。
Ctrl-C -- exit! #退出终端
*注意:远程连接失败问题,如navicat连接失败
先运行命令

mysql -uroot -p  // 登陆mysql
use mysql; // 选择mysql数据库
select host,user from user;// 查看用户权限

1.运行如下命令,赋与远程连接权限

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;

2.刷新一下

flush privileges;

如果此时还解决不了,就需要找到mysql配置my.ini文件,运行如下

bind-address = 127.0.0.1 改成 bind-address = 0.0.0.0

然后,重载配置、重启服务,就ok了。

phpMyAdmin安装

yum install phpMyAdmin

看见{Complete! } 安装成功。接着 cd /usr/share/ 目录下,将 phpMyAdmin 目录复制一份到 nginx 服务器 web 目录下,

cp -r phpMyAdmin ./nginx/html/

我这里 web 目录是 /usr/share/nginx/html/ ,然后找到 cd /etc/phpMyAdmin/ 目录下的config.inc.php 进行如下编辑

$cfg['blowfish_secret'] = 'xiaochi',// 随便设置,只是一个短语密码
$cfg['Servers'][$i]['host'] = 'localhost'; // MySQL hostname or IP address
$cfg['Servers'][$i]['port'] = '3306'; 
$cfg['Servers'][$i]['auth_type'] = 'cookie';// cookie表示每次都要输入用户密码,linux下不能用 config,不然谁都能直接访问
$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = '*************';    //数据库密码
$cfg['Servers'][$i]['extension'] = 'mysql';

然后重启 php-fpm、mysqld

 service php-fpm reload
 service mysqld reload

然后 地址栏输入:http://公网ip/phpMyAdmin/
此时,访问时可能会报错 mb_string is missing。 然后安装 php-mbstring扩展:

yum install php-mbstring

然后重启 php-fpm、mysqld。就ok了。

linux部署 lnmp 常用命令

yum list | grep php*(#查看所以php安装包)
yum remove 名称(卸载,如:yum remove nginx)
ps -le / ps -e(#查看所有进程)
ps -le | grep 应用程序名称(如:mysqld、redis) (#查看具体进程)
-------如:查看 mysql 进程
-------------ps -le | grep mysqld ;// ps -e | grep mysqld也可以

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