linux服务器php网站配置

Linux手动配置PHP+MYSQL+Nginx 详细步骤
linux 环境: centos 7.4;

注意:有一些服务器需要防火墙或安全策略开放80端口;

一 、 在 CentOS 7 中安装 Nginx 和 PHP7-FPM

1、我们要先添加 EPEL 包的仓库源。使用如下命令:

yum -y install epel-release

2、安装完EPEL 源之后,我们就可以通过仓库源安装nginx了,代码如下:

yum -y install nginx

3、 执行nginx -v,会出现如下的信息:

nginx -v

4、 把nginx设置为开机自启动。

systemctl start nginx
systemctl enable nginx

5、浏览器访问你得公网IP(注意服务器要开放80端口) 出现如下界面说明nginx安装和启动成功了。

200-1.jpg

然后我们还需要为 php7-fpm 添加另外一个仓库。互联网中有很个远程仓库提供了 PHP 7 系列包,我在这里使用的是 webtatic。

6 、添加 PHP7-FPM webtatic 仓库:

rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

7、 安装 PHP7-FPM 以及 一些包:

yum -y install php71w-fpm php71w-cli php71w-gd php71w-mcrypt php71w-mysql php71w-pdo php71w-xml php71w-pear 
php71w-mbstring php71w-mbstring php71w-json php71w-pecl-apcu php71w-pecl-apcu-devel

8 、验证PHP 是否正确安装:

php -v
004-1.jpg

二 、 配置 PHP7-FPM

在这一个步骤中,我们将配置 php-fpm 与 Nginx 协同运行。Php7-fpm 将使用 nginx 用户来运行,并监听 9000 端口;

1 、 使用 vim 编辑默认的 php7-fpm 配置文件。

vim /etc/php-fpm.d/www.conf

在第 8 行和第 10行,

user = nginx
group = nginx

在第 22 行,确保 php-fpm 运行在指定端口。

listen = 127.0.0.1:9000

取消第 366-370 行的注释,启用 php-fpm 的系统环境变量。

env[HOSTNAME] = $HOSTNAME
env[PATH] = /usr/local/bin:/usr/bin:/bin
env[TMP] = /tmp
env[TMPDIR] = /tmp
env[TEMP] = /tmp

保存文件并退出 vim 编辑器。

2、 接下来我们编辑nginx.conf的配置文件,让nginx能够解析php文件

vim /etc/nginx/nginx.conf

然后在nginx.conf里面插入如下代码,记住格式必须要一致,空格之类的不能多也不能少,不然等下重启nginx的时候会报错。

location ~ \.php$ {
#root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
#fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
100-2.jpg

然后启动 php-fpm 和 Nginx,并且将php-fpm设置为随开机启动的服务。

service nginx restart
systemctl start php-fpm
systemctl enable php-fpm

PHP7-FPM 配置完成。

3、测试PHP结果是否成功?

在我们nginx目录下创建phpinfo.php文件(目录为/usr/share/nginx/html)

vi /usr/share/nginx/html/phpinfo.php

输入以下信息,保存退出

浏览器再访问地址:http://服务器公网ip/phpinfo.php,出现php的信息之后说明配置成功。

[图片上传失败...(image-d39522-1540046921679)]
四、 安装mysql (番外篇,如果你依然执着mysql可以按照以下操作)
注意:已经安装了上面了的mariadb的,可以不安装这个了,这两个数据库的用法差不多的。

首先Centos7已经不支持mysql,因为收费了你懂得。centos下yum暂时没有mysql-server直接安装包;MariaDB是MySQL社区开发的分支,也是一个增强型的替代品。CentOS7的yum源中默认好像是没有mysql的。为了解决这个问题,我们要先下载mysql的repo源。

1、下载mysql的repo源

wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm

2、安装mysql-community-release-el7-5.noarch.rpm包

rpm -ivh mysql-community-release-el7-5.noarch.rpm
安装这个包后,会获得两个mysql的yum repo源:

/etc/yum.repos.d/mysql-community.repo,/etc/yum.repos.d/mysql-community-source.repo

3 、安装mysql

yum install mysql-server
根据步骤安装就可以了,不过安装完成后,没有密码,需要重置密码。

重置密码之前,首先要执行以下操作:

chown -R root:root /var/lib/mysql
备注: root是你当前登陆名,如果是其他名字。请自行更换

然后重启服务器

service mysqld restart

接下来登录重置密码:

mysql -uroot
mysql >use mysql;
mysql >update user set password=passworD("123456") where user='root';
mysql> flush privileges;
mysql> exit;

多网站配置
cd /etc cd nginx cd vhost 然后复制一个存在的网站配置文件

cp www.aaa.con.conf vi www.aaa.com.conf 修改 域名 网站路径

vi 文件名 i开始编辑 est 退出编辑 :wq

server {
    listen 443;
    ssl on;
    #listen 80;
    server_name www.weiquestion.com;
    root /web/www.weiquestion.com/public/;

    ssl_certificate /etc/nginx/cert/www.weiquestion.com.pem;
    ssl_certificate_key /etc/nginx/cert/www.weiquestion.com.key;

    ssl_session_cache shared:SSL:10m;
    ssl_session_timeout 10m;

    ssl_ciphers HIGH:!aNULL:!MD5;
    ssl_prefer_server_ciphers on;
    add_header Strict-Transport-Security max-age=31536000;

    location / {
       index index.html index.htm index.php;
       if (!-e $request_filename){
            rewrite ^/(.*) /index.php/$1 last;
       }
    }

    location ~ \.php(.*)$ {
        root /web/www.weiquestion.com/public/;
        fastcgi_pass 127.0.0.1:9000;#php-fpm的默认端口是9000
        fastcgi_split_path_info ^((?U).+\.php)(/?.+)$;
"www.weiquestion.com.conf" 34L, 1103C

无证书

server {
    listen 80;
    server_name money.assistyoung.com;
    root   /web/jianshike;
    #静态HTML
    location / {
        index  index.php index.html index.htm;
    }
    #php支持
    location ~* \.php$ {
        fastcgi_index index.php;
        fastcgi_pass 127.0.0.1:9000;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param SCRIPT_NAME $fastcgi_script_name;
    }
}
~                                                                                                                                                      
~                                                                                                                                                      
~                                                                                                                                                      
~                                                                                                                                                      
~                                                                                                                                                      
~                                                                                                                                                      
~                                                                                                                                                      
~                                                                                                                                                      
~                                                                                                                                                      
~                                                                                                                                                      
~                                                                                                                                                      
"money.assistyoung.com.conf" [noeol] 17L, 455C

重启nginx服务器 :service nginx restart

你可能感兴趣的:(linux服务器php网站配置)