国外服务器怎么配置php环境?

下面我将为您提供一个详细、分步的指南,以最流行的LEMP 栈 为例进行说明。

> LEMP =Linux +ENginx(读作engine-x)+MySQL +PHP

第一步:获取并连接到你的国外服务器

1、购买服务器:从AWS Lightsail、DigitalOcean、Vultr、Linode等提供商处选择一款云服务器(VPS),通常选择最新的Ubuntu或Debian系统,因为它们有良好的社区支持和软件兼容性。

2、远程连接:购买后,你会获得一个IP地址、用户名(通常是root)和密码或SSH密钥,使用SSH工具连接它。

Linux/macOS直接使用终端(Terminal)。

        ssh root@你的服务器IP地址

Windows使用PuTTY或Windows Terminal/PowerShell。

第二步:更新系统并安装必要软件

连接成功后,第一件事是更新系统的软件包列表并升级现有软件。

sudo apt update && sudo apt upgrade -y

安装一些常用的工具包:

sudo apt install -y curl wget vim git unzip

第三步:安装Web服务器 - Nginx

Nginx是一个高性能的HTTP和反向代理服务器。

1、安装Nginx

    sudo apt install -y nginx

2、启动并设置开机自启

    sudo systemctl start nginx
    sudo systemctl enable nginx

3、验证安装

在本地电脑的浏览器中访问http://你的服务器IP地址,你应该能看到Nginx的默认欢迎页面,如果看不到,请检查服务器的防火墙是否放行了80端口(HTTP)。

第四步:安装数据库 - MySQL

MySQL是一个广泛使用的关系型数据库管理系统。

1、安装MySQL

    sudo apt install -y mysql-server mysql-client

2、运行安全安装脚本:这是一个非常重要的步骤,用于设置root密码、移除匿名用户、禁用远程root登录等。

    sudo mysql_secure_installation

* 系统会提示你配置VALIDATE PASSWORD插件(是否启用密码强度验证)。

* 然后为MySQL的root用户设置一个强密码

* 后续的所有问题都输入Y 并回车即可。

3、登录MySQL测试

    sudo mysql -u root -p

输入你刚设置的密码,能进入MySQL命令行即表示安装成功,输入exit; 退出。

第五步:安装PHP及其扩展

PHP是核心,我们需要安装PHP解释器以及与Nginx和MySQL交互所需的扩展。

1、添加第三方PHP仓库(可选,但推荐以获得更新版本的PHP):

对于Ubuntu,可以使用ondrej/php PPA

        sudo apt install -y software-properties-common
        sudo add-apt-repository -y ppa:ondrej/php
        sudo apt update

2、安装PHP和常用扩展

以安装PHP 8.2为例(你可以将8.2替换为你需要的版本,如8.1,8.3):

    sudo apt install -y php8.2-fpm php8.2-mysql php8.2-curl php8.2-gd php8.2-mbstring php8.2-xml php8.2-zip php8.2-soap

php8.2-fpm: PHP FastCGI进程管理器,用于与Nginx通信。

php8.2-mysql: 让PHP可以连接MySQL数据库。

* 其他扩展(curl, gd, mbstring...)是许多流行PHP程序(如WordPress, Laravel)所必需的。

3、启动并启用PHP-FPM

    sudo systemctl start php8.2-fpm
    sudo systemctl enable php8.2-fpm

第六步:配置Nginx以处理PHP文件

现在需要告诉Nginx,当遇到.php文件时,应该交给PHP-FPM来处理。

1、编辑Nginx的默认服务器块(虚拟主机)配置文件

    sudo vim /etc/nginx/sites-available/default

2、找到处理PHP请求的部分并进行修改,通常你需要找到index指令和location ~ \.php$部分,确保它们看起来像下面这样:

    server {
        listen 80 default_server;
        listen [::]:80 default_server;
        root /var/www/html;
        # 在index后面加上 index.php
        index index.php index.html index.htm index.nginx-debian.html;
        server_name _;
        location / {
            try_files $uri $uri/ =404;
        }
        # 最重要的一部分:将PHP请求传递给PHP-FPM
        location ~ \.php$ {
            include snippets/fastcgi-php.conf;
            # 根据你安装的PHP版本,这一行可能会有所不同
            fastcgi_pass unix:/var/run/php/php8.2-fpm.sock;
        }
        # 可选:拒绝访问 .htaccess 文件
        location ~ /\.ht {
            deny all;
        }
    }

关键点

index行必须包含index.php

fastcgi_pass的值必须指向你当前PHP版本的FPM socket文件路径,请使用ls /var/run/php/命令来确认正确的文件名。

3、测试Nginx配置是否正确

    sudo nginx -t

如果显示syntax is oktest is successful,说明配置正确。

4、重启Nginx以应用更改

    sudo systemctl restart nginx

第七步:测试PHP是否正常工作

1、创建测试PHP文件

    sudo vim /var/www/html/info.php

2、在该文件中输入以下内容

    <?php
    phpinfo();
    ?>

保存并退出。

3、在浏览器中访问

http://你的服务器IP地址/info.php

你应该看到一个显示你服务器PHP配置的详细信息页面,这证明PHP和Nginx都已正确配置并协同工作。

4、(重要!)删除测试文件

出于安全考虑,测试完成后应立即删除这个文件,因为它会暴露你的服务器信息。

    sudo rm /var/www/html/info.php

第八步:配置防火墙(如果启用)

如果服务器启用了类似ufw的防火墙,你需要确保放行HTTP(80)和HTTPS(443)端口,以及SSH(22)端口。

sudo ufw allow 'Nginx Full' # 允许80和443
或者分别允许
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
务必确保SSH端口是打开的,否则你可能被锁在服务器外
sudo ufw allow 22/tcp
sudo ufw enable # 如果还没启用防火墙,此命令会启用它

可选步骤:安装phpMyAdmin(数据库图形化管理工具)

1、安装

    sudo apt install -y phpmyadmin

* 安装过程中会提示你选择Web服务器,按空格键选择nginx(前面会出现号),然后按回车。

* 接下来会询问是否要配置dbconfig-common数据库,选择“是”。

* 为phpMyAdmin设置一个用于管理数据库的密码。

2、创建符号链接(如果安装程序没有自动为Nginx配置):

    sudo ln -s /usr/share/phpmyadmin /var/www/html/phpmyadmin

3、访问

在浏览器中访问http://你的服务器IP地址/phpmyadmin,使用你的MySQL root用户名和密码登录。

至此,你的国外服务器上的基础LEMP(Linux, Nginx, MySQL, PHP)环境已经配置完成!

下一步你可以

1、部署你的网站代码:将你的PHP程序(如WordPress, Laravel等)上传到/var/www/html/目录或为其创建新的Nginx服务器块(虚拟主机)。

2、配置域名:在域名注册商处将你的域名解析到服务器IP,并在Nginx中配置相应的server_name

3、安装SSL证书:使用Let‘s Encrypt的Certbot工具为你的域名免费启用HTTPS。

    sudo apt install -y certbot python3-certbot-nginx
    sudo certbot --nginx -d 你的域名.com

4、进行安全加固:更改SSH默认端口、禁用root密码登录、使用密钥登录、配置fail2ban等。

5、优化性能:根据你的程序需要,调整PHP-FPM和Nginx的配置参数,以及配置OPcache等。

希望这个详细的指南能帮助你顺利完成配置!

文章摘自:https://idc.huochengrm.cn/fwq/14257.html

评论