参考文章 ####安装之前的准备
- 1、需要一个编译器(看情况)
sudo yum install gcc-c++
- 2、php -v 命令查看的php版本不是自己编译的php,就有可能是系统自带的php,然后需要删的话,就是下面的命令
yum remove php-common
####yum安装nginx
**安装之前先来一次 yum update
**
- 1、执行下面命令:
rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
- 2、yum安装
yum install nginx
- 3、nginx常用命令
查看版本:nginx -v
启动:systemctl start nginx
关闭:systemctl stop nginx
重启:systemctl reload nginx
状态:systemctl status nginx
- 4、启动并查看(在浏览器输入服务器ip)
systemctl start nginx
####yum安装mysql
- 1、执行下面命令:
rpm -Uvh http://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm
- 2、yum安装
yum install mysql-community-server mysql-community-devel
- 3、启动mysql
systemctl start mysqld
- 4、查看mysql的默认密码
grep 'temporary password' /var/log/mysqld.log
- 5、进入mysql修改默认密码
mysql -uroot -p
ALTER USER 'root'@'localhost' IDENTIFIED BY 'Lnmp.cn8';
####编译安装PHP
- 1、先到php的官网下载一个php版本,我下载的是7.2.7版本的
- 2、进入到下面的目录,将下载的php压缩包放在里面
cd /usr/local/src
- 3、解压压缩包(看情况要不要参数z)
tar -zxvf php-7.0.5.tar.gz
- 4、进入解压后的目录
- 5、安装之前要先安装那些准备装的扩展要用到的软件模块(需要变更的可以不装)
yum -y install libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel curl curl-devel openssl openssl-devel
- 6、接下来 configure
./configure --prefix=/usr/local/php7 --enable-fpm --with-fpm-user=nginx --with-fpm-group=nginx --with-mysqli --with-zlib --with-curl --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --with-openssl --enable-mbstring --enable-xml --enable-session --enable-ftp --enable-pdo -enable-tokenizer
- 7、继续执行下面2个命令
make
make install
- 8、安装完成,下面进行配置
// 先是 PHP 的配置文档
cp php.ini-development /usr/local/php7/lib/php.ini
// 然后根据实际自己需要修改 php.ini
vim /usr/local/php7/lib/php.ini
- 9、查看php信息
/usr/local/php7/bin/php -v
- 10、接下来配置 php-fpm,copy php-fpm 的配置文档
cp /usr/local/php7/etc/php-fpm.conf.default /usr/local/php7/etc/php-fpm.conf
cp /usr/local/php7/etc/php-fpm.d/www.conf.default /usr/local/php7/etc/php-fpm.d/www.conf
- 11、修改 php-fpm.conf(根据情况修改,我的版本编译好之后默认就是,不需要修改)
vim /usr/local/php7/etc/php-fpm.conf
查找 user 将
user = nobody
group = nobody
改成
user = nginx
group = nginx
- 12、启动php-fpm
systemctl start php-fpm
systemctl status php-fpm
####配置 Nginx 站点
- 1、先建立一个 lnmp 站点,路径是 /www/lnmp/web
mkdir -p /www/lnmp/web
- 2、准备好 phpinfo 测试文件
vim /www/lnmp/web/phpinfo.php
- 3、输入如下内容保存:
<?php
phpinfo();
- 4、每个站点建一个 Nginx 配置文件放到 /etc/nginx/conf.d/ 中
cd /etc/nginx/conf.d/
vim lnmp.cn.conf
- 5、在 lnmp.cn.conf 中加入以下内容然后保存(前面的备注不要)
# 其中 server_name www.lnmp.cn; 中的 www.lnmp.cn 改成你自己的域名
# 其中 root /www/lnmp/web; 就是刚才创建的站点目录
# 其中 fastcgi_pass 127.0.0.1:9000; 就是上面配置 php-fpm 提到要留意的值
server {
listen 80;
server_name www.lnmp.cn;
root /www/lnmp/web;
location / {
index index.php index.html index.htm;
try_files $uri $uri/ /index.php?$query_string;
}
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;
}
}
// 这里是我的laravel配置
server {
listen 80;
server_name l.vbot.admin.com;
root /www/lnmp/vbot-admin/public;
location / {
index index.php index.html index.htm;
try_files $uri $uri/ /index.php?$query_string;
}
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;
}
location ~ .*\.(js|css|png|jpg|html)$
{
root /www/lnmp/vbot-admin/public;
if (-f $request_filename) {
expires 1d;
break;
}
}
}
- 6、修改配置后一定要记得 reload nginx 才能生效
systemctl reload nginx
- 7、如果出现nginx 403的情况(我这里出现了)
- 我这里是参考的这篇文字 点击查看
- 这里我的解决方案:SELinux设置为开启状态(enabled)的原因。
- 1、查看当前selinux的状态,如果状态为 enabled,就要禁用
/usr/sbin/sestatus
- 2、将SELINUX=enforcing 修改为 SELINUX=disabled 状态。
- 编辑文件:
vi /etc/selinux/config
- 将:
SELINUX=enforcing
修改成SELINUX=disabled
SELINUX=disabled
- 重启系统
reboot
shutdown -r now