前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >从centos裸机一步一步搭建完整的PHP环境

从centos裸机一步一步搭建完整的PHP环境

作者头像
botkenni
发布2021-07-27 15:48:07
4010
发布2021-07-27 15:48:07
举报
文章被收录于专栏:IT码农IT码农
  • 购买服务器:在阿里云上注册账号,如果是学生的话可以买学生套餐,否则买正常的。在用户面板会得到一个密码,用户名默认为root。这个密码是可以修改的。同时会获得一个公网的IP。
  • 非常重要的就是修改完密码要重启一下服务器。
  • 登陆服务器:在terminal执行ssh root@公网IP( ssh root@42.96.142.34),提示输入密码,输入之后登陆上。
  • 登录后yum update
  • 配置私钥免登录:如果电脑在已经有了.ssh目录下已经有了.pub文件,那就直接使用即可,没有的话把生成一个公钥和私钥(ssh-keygen)。
  • 在服务器上新建一个用户,比如 adduser zoco
  • 给用户设置密码passwd zoco
  • 输入密码和确认密码
  • 把zoco用户加入wheel用户组 usermod -a -G wheel zoco
  • 用scp把.pub文件传到服务器上(scp id_rsa.pub zoco@42.96.142.34:)
  • 用zoco的身份登陆服务器ssh zoco@42.96.142.34,输入之前的密码
  • mkdir ~/.ssh
  • touch ~/.ssh/authorized_keys
  • cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
  • 一定要保证在服务器上这个文件所属的用户名是你的用户名(zoco)( chown -R zoco:zoco ~/.ssh ),而且权限设置为700( chown -R 700 ~/.ssh)。(这一步如果权限不够的话用root权限su)
  • 然后在自己.ssh目录下打开config文件,加上
  • 成功的话直接ssh ip( ssh 42.96.142.3)就可以登录到服务器中。
  • (用root用户)之后就可以禁用root用户登录。(打开/etc/ssh/sshd_config,找到 PermitRootLogin yes 这一句,将yes改成no;)然后禁止密码登录,在相同的文件下找到PasswordAuthentication,改成no。
  • 然后重启ssh一下( service sshd restart)。
  • 安装nginx:sudo yum install nginx
  • 测试一下nginx的配置文件nginx -t
  • 如果返回这个说明成功
    • nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
    • nginx: configuration file /etc/nginx/nginx.conf test is successful
  • 然后就可以启动了service nginx start
  • 安装PHP,可以源码安装,也可以用包管理器安装,下面是包管理器安装
  • 安装epel和remi
  • http://blog.zmr.xyz/install-epel-ius-and-remi-on-centos-and-red-hat/
  • sudo yum -y --enablerepo=epel,remi,remi-php56 install php-cli php php-fpm php-gd php-pecl-redis php-pecl-yac php-pecl-msgpack php-pecl-memcached php-pecl-imagick php-json php-mbstring php-opcache php-pecl-memcache php-mcrypt php-mysqlnd php-pecl-zip php-xml php-pdo php-devel php-xdebug php-pecl-mongo
  • php -v来测试
  • 修改php.ini和phpfpm.conf和www.conf
  • 配置nginx使其能支持php
  • 安装composer
  • 安装mysql(centos7)
    • yum install mariadb mariadb-server
    • systemctl start mariadb.service
    • systemctl enable mariadb.service
    • /usr/bin/mysql_secure_installation
  • 安装mysql(centos6)
    • sudo yum -y install mysql-server mysql mysql-devel
    • sudo service mysqld start
    • mysql_secure_installation
  • 安装git
    • sudo yum -y install git
  • 搭建laravel
    • composer create-project laravel/laravel myproject
  • 安装redis sudo yum -y install redis
    • redis-server
    • redis-cli
  • 安装tmux
    • sudo yum install -y tmux
  • 安装mongo
    • sudo vim /etc/yum.repos.d/mongodb.repo
    • 加入 name=MongoDB Repository
    • baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/x86_64/
    • gpgcheck=0
    • enabled=1
    • sudo yum -y install mongodb-org
    • sudo yum -y install mongodb-org-2.6.4 mongodb-org-server-2.6.4 mongodb-org-shell-2.6.4 mongodb-org-mongos-2.6.4 mongodb-org-tools-2.6.4
    • sudo service mongod start
    • mongo
    • sudo pecl install mongo
    • php.ini中添加mongo.so
  • 安装sz
    • sudo yum -y install lrzsz
  • 安装Xhprof
    • sudo yum -y groupinstall 'Development Tools'
    • sudo pecl install xhprof-beta
  • 安装XHGUI
    • cd /path/sites
    • git clone https://github.com/perftools/xhgui.git
    • cd xhgui
    • php install.php
    • composer update
    • 在php.ini里面加上 auto_prepend_file = /path/xhgui/xhgui/external/header.php
    • 或者在nginx.conf里面加上 fastcgi_param PHP_VALUE "auto_prepend_file=/path/xhgui/xhgui/external/header.php";
  • 安装zsh
  • php-fpm的日志/var/log/php-fpm
  • 安装java:sudo yum -y install java-1.8.0-openjdk*
  • 安装bower:npm install bower -g
  • 安装vim:curl https://j.mp/spf13-vim3 -L > spf13-vim.sh && sh spf13-vim.sh(Requires Git 1.7+ and Vim 7.3+)
  • 安装telnet:sudo yum -y install telnet 命令如:telnet 127.0.0.1 9501
  • 安装netcat:sudo yum -y install nc 使用时使用nc命令,如nc -u 127.0.0.1 9502
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 MongoDB
腾讯云数据库 MongoDB(TencentDB for MongoDB)是腾讯云基于全球广受欢迎的 MongoDB 打造的高性能 NoSQL 数据库,100%完全兼容 MongoDB 协议,支持跨文档事务,提供稳定丰富的监控管理,弹性可扩展、自动容灾,适用于文档型数据库场景,您无需自建灾备体系及控制管理系统。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档