- 首页
- 正文
怎么样在Centos上安装Linux+Nginx+Mysql+PHP【翻译】
介绍
Nginx 是一个不断增长的开源Web服务器软件和PHP v7是PHP引擎的最新版本。在本教程中,我们将用它来建立 LEMP (Linux, ENginx, MySQL, PHP) 组合服务器。Nginx取代LAMP组合发现流行的Apache软件包。
你需要什么
在你开始这份指引之前,你需要以下的内容:
- 一个有 root 权限的VPS
第一步 ---- 在Centos 7上安装 Nginx
目前Nginx在默认的Centos仓库中是不可用的,我们将运行这个命令来安装EPEL仓库
$ sudo yum install epel-release -y
下一步, 我们将要安装Nginx
$ sudo yum install nginx -y
安装完成后,开机能自动启动nginx和运行它
$ sudo systemctl start nginx
$ sudo systemctl enable nginx
为了检查Nginx是否正在运行,你可以通过浏览器访问你的IP地址。首先,找到你的IP地址:
$ sudo dig +short myip.opendns.com @resolver1.opendns.com
然后,只需将它粘贴到浏览器中,就可以看到类似的页面:
第二步 ---- 安装 MySQL(MariaDB)
一旦安装了web服务器,你我们又可以继续进行MySQL安装了。MariaDB是一个旧的和众所周知的MySQL服务的社区分支。至从Mariadb成为默认的Centos库,我们可以运行Yum直接安装它。
$ sudo yum install mariadb-server mariadb -y
安装完成后,开机能自动启动mysql和运行它
$ sudo systemctl start mariadb
$ sudo systemctl enable mariadb
然后,运行将会移除一些默认设置的安装脚本:
$ sudo mysql_secure_installation
MariaDB将会问你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 authorization.
New password: password
Re-enter new password: password
Password updated successfully!
Reloading privilege tables..
...Success!
你可以安全地单击回车键前接受所有其它问题的默认设置。安装完成后,继续进行PHP安装。
第三步 ---- 安装 PHP v7.1.0
我们要做的第一件事就是额外安装包含PHP v7.1包的Centos仓库:
$ sudo wget http://rpms.remirepo.net/enterprise/remi-release-7.rpm
$ sudo rpm -Uvh remi-release-7.rpm
使用PHP71默认被禁止的库:
yum install yum-utils -y
yum-config-manager --enable remi-php71
其次,安装PHP包:
$ sudo yum --enablerepo=remi,remi-php71 install php-fpm php-common
安装常用的模块:
yum --enablerepo=remi,remi-php71 install php-opcache php-pecl-apcu php-cli php-pear php-pdo php-mysqlnd php-pgsql php-pecl-mongodb php-pecl-redis php-pecl-memcache php-pecl-memcached php-gd php-mbstring php-mcrypt php-xml
第四步 ---- 配置Nginx和PHP 7
用vim或者nano编辑器来创建一个新的Nginx配置文件
$ sudo nano /etc/nginx/conf.d/default.conf
输入这些代码:
server {
listen 80;
server_name your-server-ip;
# note that these lines are originally from the "location /" block
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;
}
}
重要:把 your-server-ip 替换成你自己实际的 IP
保存文件时可以按 CTRL + X (对于MAC用户可以用 CMD + X ),重启nginx来生效:
$ sudo systemctl restart nginx
现在,打开 PHP-FPM 的配置:
$ sudo nano /etc/php-fpm.d/www.conf
找到我替换这些行:
user = apache
替换成 user = nginx
group = apache
替换成 group = nginx
listen.owner = nobody
替换成 listen.owner = nginx
listen.group = nobody
替换成 listen.group = nginx
最后,在 listen = 127.0.0.1:9000 下面加入这一行:
listen = /var/run/php-fpm/php-fpm.sock
再次,按 CTRL + X保存文件,启动 php-fpm和开机启动它
$ sudo systemctl start php-fpm.service
$ sudo systemctl enable php-fpm.service
测试运行php网站
- 进入到
/usr/share/nginx/html
,添加一个index.php
文件,内容如下:
<?php
echo phpinfo();
?>
- 修改
/var/www/html
目录的所有者权限
$ sudo chown -R nginx:nginx /var/www/html
- 在浏览中输入
http://localhost/index.php
查看
遇到的问题
php网站显示目录或者文件不可写,可以尝试下面这两种方法:
- 把目录全部的权限设置成 777 (chmod -R 777 目录)
- 修改 selinux 的配置文件( /etc/selinux/config ) ,内容如下:
#SELINUX=enforcing #注释掉
#SELINUXTYPE=targeted #注释掉
SELINUX=disabled #增加
使用 setenforce 0
命令使配置立即生效或者直接重启Linux
参考网站
原文:https://www.hostinger.com/tutorials/how-to-install-lemp-centos7#Step-1-Installing-Nginx-on-CentOS-7
【下一篇】父子漫画
- 没有相关文章