从一个centos裸机一步一步搭建完整的PHP环境
2015-11-28
- 购买服务器:在阿里云上注册账号,如果是学生的话可以买学生套餐,否则买正常的。在用户面板会得到一个密码,用户名默认为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
- 搭建laravel
- composer create-project laravel/laravel myproject
- 安装redis sudo yum -y install redis
- 安装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