参考文章:https://www.digitalocean.com/community/tutorials/how-to-install-linux-nginx-mysql-php-lemp-stack-on-centos-7
简单整理了安装的中文步骤:(非root用户,需要有root权限)
sudo rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
安装并启动nginx,安装完可以访问下看看:
sudo yum install nginx sudo systemctl start nginx.service
如果需要开机启动,请执行以下命令:
sudo systemctl enable nginx.service
如果你不知道本机的ip地址,可执行以下任一命令:
ifconfig ;#显示本机所有网卡信息 ip addr show eth0 | grep inet | awk '{ print $2; }' | sed 's/\/.*$//';#分两行返回ipv4和ipv6的的IP地址
第二步:安装Mysql
MariaDB是mysql的一个完全替换版本。具体信息可以参考百度百科:http://baike.baidu.com/link?url=w1sHep9i_EBTRkz_NkFjb_LhmWpuOLHobTIQDZOZo5Q1C0DmxAeEB_-pjhTpktY-gCriqloptlxwIcg0-hO1ja
通过yum 安装并启动:
sudo yum install mariadb-server mariadb sudo systemctl start mariadb
将一些默认的不安全的设置关闭:
sudo mysql_secure_installation
安装过程会要求你输入root密码,新安装的系统还未设置,直接回车即可。随后会询问你是否设置root密码,输入y,然后设置即可。如下图:
Enter current password for root (enter for none): OK, successfully used password, moving on... Setting the root password ensures that nobody can log into the MariaDB root user without the proper authorisation. New password: passwordRe-enter new password: passwordPassword updated successfully! Reloading privilege tables.. ... Success!
其余选项,你回车选择默认设置即可。他会删除一些样例数据库和用户,禁用远程登陆等等,也可根据需求自行设置。
当然加在开机启动的命令也是一样:
sudo systemctl enable mariadb.service
同样时yum安装,需要安装mysq和fpm扩展:
sudo yum install php php-mysql php-fpm
配置php.ini (根据各自需求,配置可能不同):
sudo vi /etc/php.ini
关闭php.ini 中的以下配置:
cgi.fix_pathinfo=0 #(可参考原文自行翻译)
配置php.fpm 的配置文件www.conf:
sudo vi /etc/php-fpm.d/www.conf
修改以下内容:
listen = /var/run/php-fpm/php-fpm.sock
开启php进程,并设置开机启动:
sudo systemctl start php-fpm sudo systemctl enable php-fpm.service
第四步 配置nginx 运行php :
以默认配置文件为例:
sudo vi /etc/nginx/conf.d/default.conf
默认的配置格式如下:
server { listen 80; server_name localhost; location / { root /usr/share/nginx/html; index index.html index.htm; } error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } }
我们需要改成自己需要的服务器配置:
大概分为(可参考原文):
1 允许index.php 作为入口文件被自动解析
2 修改服务器名或ip,使服务器可以解析正确
3 配置一些错误信息的处理
4 确定需要处理的文件后缀
参考配置如下:
server { listen 80; server_name server_domain_name_or_IP; root /usr/share/nginx/html; index index.php index.html index.htm; location / { try_files $uri $uri/ =404; } error_page 404 /404.html; error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } location ~ \.php$ { try_files $uri =404; fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }}
重起nginx服务:
sudo systemctl restart nginx
第五步 :测试访问是否正确
编辑/usr/share/nginx/html/下的info.php 文件
sudo vi /usr/share/nginx/html/info.php
输入以下信息:
<?php phpinfo(); ?>
通过浏览器访问:
http://your_server_IP_address/info.php
检查输出,php的版本信息等等。
删除info.php文件 :
sudo rm /usr/share/nginx/html/info.php
finish!