Unbutu学习记录
来源:互联网 发布:抛硬币实验数据 编辑:程序博客网 时间:2024/06/07 06:53
目录
- 目录
- 命令
- 过程
- Vim
- Flash
- Php
- Jdk
- Memcached服务器
- PHP-Memcached扩展
- Apache Httpd
- Httpd 和 Php 结合
- Httpd 多站点配置
- 安装 PhpStorm
- 在 PhpStorm 中配置以 apache 服务器运行
- PHP-Debug扩展
- PHP-Pdo-mysql扩展
- 安装 Sublime
- PHP-OpenSSL扩展
- 安装 Composer
- 安装 Git
- 安装 Nginx
- Nginx 和 PHP 结合
- 快捷键
命令
- ls:-a / -l
- cd
- pwd
- clear
- sudo
- mkdir [dirname]
- touch [filename]
- which [file]:查找文件目录
- apt-get install [soft]
- apt-cache search [soft]
- grep [text]
- ifconfig
- ps (-e 显示全部 / -f 全格式):显示进程
- pkill [进程名称]:杀进程
过程
Vim
apt-get install vim -y
Flash
apt-get install flashplugin-installer
Php
- 依赖:
apt-get install libxml2-dev -y
- 在 php.net 下载 php 到 /usr/txl/DownLoads,打开终端
./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/conf
make & make install
Jdk
apt-get install default-jdk -y
- Test:
java -showversion
Memcached服务器
- 依赖:
apt-get install libeventdev -y
- 在 memcached.org 下载,打开终端
./configure --prefix=/usr/local/memcached
make & make install
运行进程:/usr/local/memcached/bin/memcached -d -m 512 -u txl -l 127.0.0.1 -p 11211 -c 1024 -P /usr/local/memcached/memcached.pid
-d:以守护进程运行
-m:分配内存
-l:连接ip地址
-p:端口
-c:并发连接数
-P:Pid文件Test:
telnent 127.0.0.1 11211
set key flags 过期时间 bytes
value
get key
PHP-Memcached扩展
- 依赖
- autoconf:生成配置脚本工具
apt-get install autoconf -y
./configure
- phpize:默认在 php/bin 目录下,用于添加扩展
- zlib:压缩函数调用库
apt-get install zlib1g-dev
- autoconf:生成配置脚本工具
- libmemcached(客户端)
- 在 libmemcached.net 下载,解压到 /home/txl/tool 中,打开终端
./configure
make & make install
- PHP-Memcached扩展
- 安装Git工具:
apt-get install git -y
- 进入 /home/txl/tool 中,
git clone https://github.com/php-memcached-dev/php-memcached.git
- 切换到php7分支:
git checkout php7
- 生成:
phpize
- ./configure –with-php-config=/usr/local/php/bin/php-config –disable-memcached-sasl
make & make install
- 安装Git工具:
- Php配置文件
- 在 php/bin/php-config脚本中找到 –with-config-file-path=/usr/local/php/conf ,说明 php 会在该文件夹下寻找 php.ini
- 拷贝模板配置文件到 php 配置文件目录
cp /home/txl/DownLoads/php7/php.ini-development /usr/local/php/conf/php.ini
- 给 php.ini 赋予权限
sudo chown txl:txl php.ini
- 在 php.ini 中添加 memcached 扩展
echo 'extension="memcached.so"' >> /usr/local/php/conf/php.ini
- Test:
php -m
Apache Httpd
- 依赖
- PCRE:
apt-get install libpcre3-dev -y
- Libexpat:
apt-get install libexpat1-dev
- APR:在 apr.apache.org 下载,打开终端
./configure --prefix=/usr/local/apr
make & make install
- APR-Util:在 apr.apache.org 下载,打开终端
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
- PCRE:
- 在 httpd.apache.org/download.cgi 下载,打开终端
./configure --prefix=/usr/local/httpd --with-apr-util=/usr/local/apr-util
make & make install
- 启动:
/usr/local/httpd/bin/apachectl
Httpd 和 Php 结合
- 联合Php模块重新编译Apache
- 进入 Apache 源代码目录,打开终端
./configure --prefix=/usr/local/httpd --enable-so --with-apr-util=/usr/local/apr-util
make & make install
安装 libiconv
- 在 www.gnu.org/software/libiconv 下载,打开终端
./configure --prefix=/usr/local
make & make install
在 Ubuntu16 中编译有可能会出错,解决方案:
- 打开 libiconv/srclib/stdio.h
- 搜索 gets is a security hole,将这一行替换为:
#if defined(__GLIBC__) && !defined(__UCLIBC__) && !__GLIBC_PREREQ(2, 16)
_GL_WARN_ON_USE(gets, "gets is a security hole - use fgets instead");
#endif
安装后的iconv库位置:/usr/local/lib/libiconv.so
- 刷新动态链接库缓存:
sudo ldconfig
- 重新编译Php
- 进入Php源代码目录,打开终端
- ./configure –prefix=/usr/local/php –with-config-file-path=/usr/local/php/conf –with-apxs2=/usr/local/httpd/bin/apxs –with-iconv-dir=/usr/local/lib
make ZEND_EXTRA_LIBS='-liconv'
make install
- 修改 Httpd 配置
- 安装过程中,系统会自动拷贝 /usr/local/httpd/modules/libphp7.50
- 在 httpd.conf 中系统会自动加入 LoadModule php7_module modules/libphp7.50
手工在下面添加:AddType application/x-httpd-php .php
- 重启 httpd:
sudo /usr/local/httpd/bin/apachectl restart
Httpd 多站点配置
- 修改 httpd.conf,添加
Listen 8090
- 添加:
<VirtualHost *:8090> DocumentRoot /home/txl/phpstormProjects/test ServerName localhost:8090 DirectoryIndex index.php <Directory "/home/txl/phpstormProjects/test"> Options FollowSymLinks Require all granted </Directory></VirtualHost>
- 重启 Httpd
安装 PhpStorm
略
在 PhpStorm 中配置以 apache 服务器运行
略
PHP-Debug扩展
git clone git://github.com/xdebug/xdebug.git
phpize
./configure
make & make install
- 在 php.ini 中添加扩展:
zend_extension=xdebug.so xdebug.remote_enable=On xdebug.remote_handler=dbgp xdebug.remote_host=localhostxdebug.remote_port=9000 // 和 PhpStorm 中对应 xdebug.idekey=phpstorm // 和 PhpStorm 中对应
- 重启 Apache
- 在 Phpstorm 中设置,略
PHP-Pdo-mysql扩展
- 进入 PHP 源代码目录,打开终端
make clean
- ./configure –prefix=/usr/local/php –with-config-file-path=/usr/local/php/conf –with-apxs2=/usr/local/httpd/bin/apxs –with-iconv-dir=/usr/local/lib –enable-mysqlnd –with-pdo-
mysql=mysqlnd make ZEND_EXTRA_LIBS='-liconv'
make install
- 在 php.ini 中添加扩展:
extension=pdo_mysql.so
- 重启 Apache
安装 Sublime
- 在 www.sublimetext.com/3 中下载,打开终端
- 安装:
sudo dpkg -i xxx.deb
- 配置为 php 运行:Tools -> Build System -> new Build System,写入:
{"cmd":["/usr/local/php/bin/php", "$file"]}
- 运行
ctrl + b
,隐藏/显示侧栏:ctrl + k ctrl + b
PHP-OpenSSL扩展
- 进入 Php 源码目录 /ext/openssl,打开终端
cp config0.m4 config.m4
phpize
./configure --with-php-config=/usr/local/php/bin/php-config --with-openssl
如果报错 configure:error Cannot find OpenSSL’s >evp.h<,解决方案:
sudo apt-get install openssl
sudo apt-get install libssl-dev
在 php.ini 中添加扩展:
extension=openssl.so
安装 Composer
- 下载
wget https://getcomposer.org/composer.phar
mv composer.phar composer
sudo chmod+x composer
mv composer /usr/local/bin
- 测试:
composer
- 初始化
- 新建 PHP 项目文件夹
- 在当前项目文件夹下执行
composer init
,根目录会自动生成一个composer.json,大概格式”autoload”:{
“files”:[“common/function.php”],
“classmap”:[“C/”]
} - 在当前文件夹下执行
composer dump-autoload
,然后会生成一个vendor文件夹,里面有一个 autoload.php,只需在需要的页面中引入 autoload.php - 安装外部库:在 composer.json 中添加:
“require”:{
“vrana/notorm”:”dev-master”
}
然后执行:composer install
镜像
安装国内镜像源:进入项目根目录(也就是 composer.json 所在的目录),执行:
composer config repo.packagist composer https://packagist.phpcomposer.com
,也可以在 composer.json 的末尾手工添加:“repositories”: {
“packagist”: {
“type”: “composer”,
“url”: “https://packagist.phpcomposer.com”
}
}官方镜像列表:packagist.org
安装 Git
- 下载
sudo apt-get install git
- 测试:
git --version
起始配置
git config --global user.email "1297441127@qq.com"
git config --global user.name "txl"
–global表示全局配置,任何仓库提交都会使用这个身份来识别
进入项目文件夹
- 创建一个空的版本仓库:
git init
- 加入仓库:
git add *
或者git add xxx.php
- 提交:
git commit -m "注释内容"
- 创建一个空的版本仓库:
- 和 github 关联(sssh地址)
git remote add 别名 git@github.com:xxx/xxx.git
- 生成密码:
ssh-keygen -t rsa -C "1297441127@qq.com"
- 查看密码:
cat /home/txl/.ssh/id_rsa.pub
,在 github 中添加 SSHkeys git push 别名 master 提交文件
- 在 PHPStorm 中操作 git,略
- 在 Packagist.org 中上传代码,略
安装 Nginx
- 在 nginx.org 下载 nginx,打开终端
./configure --prefxi=/usr/local/nginx
make & make install
- 配置:/usr/local/nginx/conf/nginx.conf
- 运行:sudo /usr/local/nginx/sbin/nginx
Nginx 和 PHP 结合
- 进行 php 源码目录,打开终端
make clean
- ./configure –prefix=/usr/local/php –with-config-file-path=/usr/local/php/conf –with-apxs2=/usr/local/httpd/bin/apxs –with-iconv-dir=/urs/local/lib –enable-mysqlnd –with-pdo-mysql=mysqlnd –enable-fpm
make ZEND_EXTRA_LIBS='-liconv'
make install
- php/sbin 下会有一个 php-fpm文件
php/etc 下有一个配置文件:php-fpm.conf.default,拷贝出来:
cp php-fpm.conf.default php-fpm.conf
,修改参数:pid=run/php-fpm.pid
error_log=log/php-fpm.log
log_level=notice
daemonize=yes ;以守护进程运行进入 php/etc/php-fpm.d,修改 www.conf :
listen=127.0.0.1:9000
user=txl
group=txl启动 FPM:进入 php/sbin,执行
sudo ./php-fpm
- 修改 nginx/conf/nginx.conf,添加:
location ~*\.php$ { root html; fastcgi_pass 127.0.0.1:9000; include /usr/local/nginx/conf/fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;}
最后重启 nginx:进入 nginx/sbin,执行 sudo ./nginx -s reload
快捷键
- 终端 (Terminal):
ctrl + alt + t
- Unbutu学习记录
- Unbutu使用相关问题记录收集
- unbutu 常用软件
- unbutu(PSFTP)
- unbutu常用命令
- unbutu eclipse
- unbutu下添加桌面图标
- linux Unbutu ,root密码
- unbutu安装mysql
- unbutu 安装java教程
- unbutu wine 使用
- unbutu下的问题解决
- unbutu修改ip
- unbutu下安装eclipse
- unbutu安装nodejs环境
- unbutu下ffmpeg安装
- Unbutu 常用功能命令
- unbutu忘记登录密码
- sklearn的认识
- zepto--学习demo1
- OJ1104: 求因子和(函数专题)
- C++中的模板类vector
- 容易看错结果几个小程序
- Unbutu学习记录
- Android开发调试必备
- CTC 介绍
- Cannot run program "/usr/local/android-sdk-linux/build-tools/23.0.2/aapt": error=2, No such file or
- Week 1, Aerial Robotics
- MySQL 5.7 非安装版配置与连接
- Leetcode算法学习日志-436 Find Right Interval
- 数据库简介
- 数据库中存储过程与函数的区别