«

centos7配置nginx+php环境

emer 发布于 2018-12-25 14:10   2767 次阅读     


一. MySQL安装与配置



1. 配置yum源

# 更新yum源

yum update 

# 下载mysql源安装包

wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm 

# 安装mysql源 

yum localinstall mysql57-community-release-el7-8.noarch.rpm 

# 检查mysql源是否安装成功

yum repolist enabled | grep "mysql.*-community.*" 

2. 安装MySQL

yum install mysql-community-server 

3. 启动MySQL



# 启动MySQL服务

systemctl start mysqld 

# 查看MySQL的启动状态

systemctl status mysqld 

# 设置MySQL开机启动

systemctl enable mysqld
systemctl daemon-reload 

4. 修改root默认密码

# 找到root默认密码

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

# 进入mysql控制台, 输入上述查询到的默认密码

mysql -uroot -p 

# 设置root管理员的密码

set password for 'root'@'localhost'=password('PassWord123@'); 

5.添加远程登录用户
默认只允许root帐户在本地登录,如果要在其它机器上连接mysql,必须修改root允许远程连接,或者添加一个允许远程连接的帐户

# 添加远程帐户

GRANT ALL PRIVILEGES ON *.* TO 'yourname'@'%' IDENTIFIED BY 'YourPassword@123' WITH GRANT OPTION; 

6. 配置默认编码为utf8
修改配置文件 /etc/my.cnf,添加下面两行, utf8编码配置

character_set_server=utf8 
init_connect='SET NAMES utf8' 


二. PHP环境配置
1. 安装 php 和 php-fpm

# 首先安装epel

yum -y install epel-release 

# 安装php php-fpm

yum -y install php php-fpm 

# 查看php版本

php -v 

2. 安装php-mysql

yum install php-mysql 

3. 设置php-fpm开机自动启动

systemctl enable php-fpm 

4. 启动php-fpm

systemctl start php-fpm 


三. Nginx安装与配置


# 下载安装包

wget http://nginx.org/download/nginx-1.10.0.tar.gz 

# 解压Nginx的tar包,并进入解压好的目录

tar -zxvf nginx-1.10.0.tar.gz
cd nginx-1.10.0/ 

# 安装zlib和pcre库

yum -y install zlib zlib-devel
yum -y install pcre pcre-devel 

# 配置、编译并安装

./configure--with-http_ssl_module\
make
make install 

# 启动nginx

/usr/local/nginx/sbin/nginx 

访问服务器后如下图显示说明Nginx运正常。


# nginx 配置访问项目目录并支持 PHP 的 pathinfo 模式配置


server {
        listen       80;
        server_name  xxx.xxxx.com; # 你的域名
    location / {
        root  /var/www/xxx项目目录/;
        index index.php;
    }
        #location ~ ^(.+\.php)(.*)$ {
       # root           /var/www/xxx项目目录/;
       # fastcgi_pass   127.0.0.1:9000;
       # fastcgi_index  index.php;
       # fastcgi_split_path_info  ^(.+\.php)(.*)$;
       # fastcgi_param PATH_INFO $fastcgi_path_info;
      #  if (!-e $document_root$fastcgi_script_name) {
       #     return 404;
      #  }
     #   fastcgi_param  SCRIPT_FILENAME$document_root$fastcgi_script_name;
    #    include        fastcgi_params;  

}

location ~ \.php$ {        try_files $uri =404;         fastcgi_pass 127.0.0.1:9000;         fastcgi_index index.php;          include fastcgi_params;         fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;         fastcgi_param PATH_INFO $fastcgi_path_info;       }

}



常用指令
mysql
systemctl start mysqld # 启动
systemctl stop mysqld # 停止
systemctl restart mysqld # 重启
php-fpm
systemctl start php-fpm # 启动
systemctl stop php-fpm # 停止
systemctl restart php-fpm # 重启

后台启动:


查看php-fpm配置文件,因为php-fpm配置文件有一个选项是:

daemonize = yes


nginx
sudo fuser -k 80/tcp # 杀死80端口
/usr/local/nginx/sbin/nginx # 开启
/usr/local/nginx/sbin/nginx -s stop # 停止
/usr/local/nginx/sbin/nginx -s reopen # 重启
/usr/local/nginx/sbin/nginx -s reload # 重新载入配置文件


nginx配置:

php.conf:
server {
    listen       80;
    server_name  ningli.win;

    # note that these lines are originally from the "location /" block
    root   /web/php;
    index index.php index.html index.htm;

    location / {
        try_files $uri $uri/ =404;
    }

    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME /web/php$fastcgi_script_name;
        include fastcgi_params;
    }
}
}

https://www.jianshu.com/p/7c0e6c2663fd