lnmp配置(linux(centos7).ngnix.mariadb.php(php-fpm,phpmyadmin))
时间:2016-05-14 02:07 来源:linux.it.net.cn 作者:IT网
LNMP(linux,nginx,mariadb,php),此处以centos7为例,root权限操作,以yum方式安装。几点说明:
-
域名解析。如果后续需要使用域名测试安装情况,务必提前进行解析设置,如某些域名供应商或主机供应商提供解析功能。如果使用Ip测试可以忽略。
-
mariadb即是mysql的开源社区版,遵循GPL;
-
centos7使用systemd管理服务,使用如下:
systemctl enbale/is-enable/disable/start/restart/stop/status/reload/--failed servicename.service
自启enbale/查询自启状态is-enable/禁止自启disable/立即启动start/立即重启restart/立即停止stop/状态查询status/重载配置reload/查询启动失败项目--failed
服务名(servicename)后也可不加.service。
-
本示例以nano编辑器编辑,常用操作方法:
nano xx 打开名为xx的文件 如果不存在则创建名为xx的文件
ctl+x 退出并询问(修改过内容时才询问)-n不保存且退出 y保存并问是否改名 c取消此操作
ctrl+o保存 ctrl+w查找
安装
安装nmp(nginx-mariadb-php,以及一些php插件)
yum install nginx mariadb mariadb-server php php-fpm phpmyadmin php-mysql php-mcrypt php-xml php-gd php-pear php-imap php-ladap php-mbstring php-odbc php-bcmath php-mhash libmcrypt libjpeg*
php-xmlrpc
设置开机启动并立即启动服务:
systemctl enable nginx mariadb php-fpm && systemctl start nginx mariadb php-fpm
配置
1.mariadb配置:输入>
mysql_secure_installation
回车>根据提示输入Y>输入2次密码>回车>根据提示一路输入Y>最后出现:Thanks for using MariaDB!
2.php配置:
编辑php.ini,找到session.save_path这一行,去掉注释(去掉行首分号),修改如下:
session.save_path = "/var/lib/php/session"
查看php要写入的session文件(/var/lib/php/session)是否存在(一般是存在的):
ls /var/lib/php/session
如果返回结果提示不存在,则手工创建
mkdir /var/lib/php/session
为确保nginx有权限写入session,修改目录权限:
chown nginx:nginx /var/lib/php/session/ -R
3.phpmyadmin配置(以下方法选其一):
-
复制:复制phpMyAdmin目录到nginx主目录,以/usr/share/nginx/html/为例(centos以yum安装的phpmyadmin在/usr/share下)>
cp /usr/share/phpMyAdmin/ /usr/share/nginx/html/
××为了方便,可将phpMyAdmin改为phpmyadmin或者其他名字(为了安全,建议更改名字)。如果更改了名字,那么nginx的配置(/usr/share/conf.d/下的conf文件)要改为相应的目录名称,下同。
-
别名:先按复制方法复制,再利用alis,在ngninx的conf配置中(位于/etc/nginx/conf.d/下)location /phpMyAdmin { 的下一行添加>
alias phpmyadmin="/usr/share/nginx/html/phpMyAdmin/"; #phpmyadmin可以是自定义的任何名字
-
软链接:软链接至主目录(个人喜好并推荐,phpmyadmin通过yum升级后也不用重新复制)>
ln -sf /usr/share/phpMyAdmin/ /usr/share/nginx/html/phpmyadmin
4.php-fpm配置:
编辑/etc/php-fpm.d/www.conf如下:
user = nginx #修改用户为nginx
group = nginx #修改组为nginx
5.nginx配置:
如果/etc/nginx/conf.d/中没有任何conf文件,则复制一份(此处以dfault为名举例):
cp /etc/nginx/nginx.conf.default /etc/nginx/conf.d/default.conf
或者直接在/etc/nignx/conf.d/下新建(如果conf.d/下不存在任何conf文件)一个conf文件,内容如下:
server {
listen 80;
#此处server_name后填写域名
server_name 1wei.cc www.1wei.cc;
#ngnix默认的主目录,可根据具体情况修改
root /usr/share/nginx/html;
location / {
#添加index.php
index index.php index.html index.htm;
}
#phpmyadmin的目录,根据情况更改
location /phpMyAdmin {
index index.php;
}
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;
}
}
*权限问题,nginx主目录的权限要求文件权限644,文件夹755,所有者为nginx的执行用户(默认是nginx组的nginx),以根目录为/srv/web为例:
1 chown -R nginx.nginx /usr/share/nginx/html/
2 find /srv/web/ -type f -exec chmod 644 {} \;
3 find /srv/web/ -type d -exec chmod 755 {} \;
1使nginx根目录的所有者变为nginx组的nginx,2则搜索nginx根目录下文件赋予权限644,3则搜索nginx根目录下文件授予权限755。
可以将3条命令写入bashrc以alias方式存储方便执行,如写进/etc/bashrc,nano.bashrc,再文件末尾写入:
alias webroot='chown -R nginx.nginx /srv/web/ && find /srv/web/ -type d -exec chmod 755 {} \; && find /srv/web/ -type f -exec chmod 644 {} \;'
保存并执行source /etc/bashrc 使其生效。以后只要执行webroot就可以啦。
测试
配置完后,测试前重启所有服务:
systemctl restart nginx mariadb php-fpm
-
nginx测试:登录网站测试,根据具体情况,在浏览器打开域名或IP,如www.1wei.cc。
-
测试php解析:
添加phpinfo测试文件:
nano /usr/share/nginx/html/phpinfo.php
在phpinfo.php内添加以下代码:
<?php
phpinfo();
?>
打开(以1wei.cc为例)1wei.cc/phpinfo.php,可以看到php详情页面。
-
phpmyadmin测试,以将phpMyAdmin改为了phpmyadmin为例,打开 1wei.cc/phpmyadmin
(责任编辑:IT)
LNMP(linux,nginx,mariadb,php),此处以centos7为例,root权限操作,以yum方式安装。几点说明:
自启enbale/查询自启状态is-enable/禁止自启disable/立即启动start/立即重启restart/立即停止stop/状态查询status/重载配置reload/查询启动失败项目--failed 服务名(servicename)后也可不加.service。
nano xx 打开名为xx的文件 如果不存在则创建名为xx的文件 安装 安装nmp(nginx-mariadb-php,以及一些php插件) yum install nginx mariadb mariadb-server php php-fpm phpmyadmin php-mysql php-mcrypt php-xml php-gd php-pear php-imap php-ladap php-mbstring php-odbc php-bcmath php-mhash libmcrypt libjpeg* php-xmlrpc 设置开机启动并立即启动服务: systemctl enable nginx mariadb php-fpm && systemctl start nginx mariadb php-fpm
配置 mysql_secure_installation 回车>根据提示输入Y>输入2次密码>回车>根据提示一路输入Y>最后出现:Thanks for using MariaDB!
2.php配置: 编辑php.ini,找到session.save_path这一行,去掉注释(去掉行首分号),修改如下: session.save_path = "/var/lib/php/session" 查看php要写入的session文件(/var/lib/php/session)是否存在(一般是存在的):
ls /var/lib/php/session
如果返回结果提示不存在,则手工创建
mkdir /var/lib/php/session
为确保nginx有权限写入session,修改目录权限:
chown nginx:nginx /var/lib/php/session/ -R
3.phpmyadmin配置(以下方法选其一):
cp /usr/share/phpMyAdmin/ /usr/share/nginx/html/
××为了方便,可将phpMyAdmin改为phpmyadmin或者其他名字(为了安全,建议更改名字)。如果更改了名字,那么nginx的配置(/usr/share/conf.d/下的conf文件)要改为相应的目录名称,下同。
alias phpmyadmin="/usr/share/nginx/html/phpMyAdmin/"; #phpmyadmin可以是自定义的任何名字
ln -sf /usr/share/phpMyAdmin/ /usr/share/nginx/html/phpmyadmin
4.php-fpm配置: 编辑/etc/php-fpm.d/www.conf如下:
user = nginx #修改用户为nginx
group = nginx #修改组为nginx
cp /etc/nginx/nginx.conf.default /etc/nginx/conf.d/default.conf
或者直接在/etc/nignx/conf.d/下新建(如果conf.d/下不存在任何conf文件)一个conf文件,内容如下:
server {
listen 80;
#此处server_name后填写域名
server_name 1wei.cc www.1wei.cc;
#ngnix默认的主目录,可根据具体情况修改
root /usr/share/nginx/html;
location / {
#添加index.php
index index.php index.html index.htm;
}
#phpmyadmin的目录,根据情况更改
location /phpMyAdmin {
index index.php;
}
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;
}
}
1 chown -R nginx.nginx /usr/share/nginx/html/ 2 find /srv/web/ -type f -exec chmod 644 {} \; 3 find /srv/web/ -type d -exec chmod 755 {} \;
1使nginx根目录的所有者变为nginx组的nginx,2则搜索nginx根目录下文件赋予权限644,3则搜索nginx根目录下文件授予权限755。 alias webroot='chown -R nginx.nginx /srv/web/ && find /srv/web/ -type d -exec chmod 755 {} \; && find /srv/web/ -type f -exec chmod 644 {} \;' 保存并执行source /etc/bashrc 使其生效。以后只要执行webroot就可以啦。
测试 systemctl restart nginx mariadb php-fpm
添加phpinfo测试文件: nano /usr/share/nginx/html/phpinfo.php 在phpinfo.php内添加以下代码:
<?php
phpinfo();
?>
打开(以1wei.cc为例)1wei.cc/phpinfo.php,可以看到php详情页面。
(责任编辑:IT) |