- 安装nginx
nginx的编译安装比较简单,但它依赖gcc,openssl,pcre,zlib等几个模块,需提前安装这几个软件,免得等下安装nginx时报错。
yum install gcc openssl-devel pcre-devel zlib-devel -y
1.下载nginx安装包 http://nginx.org/en/download.html
wget http://nginx.org/download/nginx-1.12.2.tar.gz
2.解压压缩包
tar xzvf nginx-1.10.1.tar.gz
3.进入nginx文件 安装
cd nginx
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-pcre
4.编译及安装
make && make install
5.启动nginx
/usr/local/nginx/sbin/nginx #启动 nginx 服务
/usr/local/nginx/sbin/nginx -s stop #停止 nginx 服务
6.启动 nginx 服务后,可以通过 ps -aux | grep nginx 查看进程
ps -aux | grep nginx
在浏览器输入ip地址 就可以看到
Welcome to nginx!
/usr/local/nginx/sbin/nginx #启动 服务
/usr/local/nginx/sbin/nginx -s reload #不停止服务重读配置文件
/usr/local/nginx/sbin/nginx -s stop #停止服务 #停止服务
#加入到开机自启动
vi /etc/rc.local
#添加
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf &
#重启 init 6
#如果没有成功 则添加权限
chmod o+x /etc/rc.local
#重启 init 6
将nginx添加到环境变量中
vi /etc/profile
添加
export PATH="$PATH:/usr/local/nginx/sbin:"
更新环境变量
source /etc/profile
#重启nginx
nginx -s reload
include /etc/nginx/conf.d/*.conf;
chkconfig gogs on
开启自启服务器
server {
listen 80;
server_name your_server_ip; # your_server_ip为服务器IP或绑定的域名
location / {
proxy_pass http://127.0.0.1:3000;
}
}
2.安装php-fpm
1.软件依赖
yum install gcc gcc-c++ libxml2 libxml2-devel autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel
1.下载安装包 http://php.net/get/php-7.2.0.tar.gz/from/a/mirror
wget http://cn2.php.net/get/php-7.2.0.tar.gz/from/this/mirror
2.然后解压php
tar -zxvf 文件名
3.安装依赖
yum install gcc gcc++ libxml2-devel
yum -y install gcc-c++
yum install curl curl-devel
4.进入解压文件并配置安装位置
cd php-7.0.7/
./configure --prefix=/usr/local/php-fpm --enable-fpm --with-zlib --with-pdo-mysql --enable-mbstring --with-gd --with-png-dir=/usr/lib64 --with-jpeg-dir=/usr/lib64 --with-freetype-dir=/usr/lib64
//另外
./configure --prefix=/usr/local/php-fpm --enable-opcache --enable-fpm --enable-sockets --enable-mysqlnd --enable-mbstring --enable-gd-native-ttf --enable-bcmath --with-pdo-mysql --with-gd --with-jpeg-dir=/usr/lib64 -with-freetype-dir=/usr/lib64 --with-curl --with-openssl
./configure --prefix=/usr/local/php-fpm --enable-fpm --with-zlib --with-pdo-mysql --enable-mbstring --with-gd --with-png-dir=/usr/lib64 --with-jpeg-dir=/usr/lib64 --with-freetype-dir=/usr/lib64 --enable-opcache --enable-fpm --enable-sockets --enable-mysqlnd --enable-mbstring --enable-gd-native-ttf --enable-bcmath --with-pdo-mysql --with-gd --with-jpeg-dir=/usr/lib64 -with-freetype-dir=/usr/lib64 --with-curl
–with-openssl --disable-fileinfo
5. 编译并安装
make && make install
6.安装完毕后配置php
复制一份配置文件
cd /usr/local/php-fpm/etc/
cp php-fpm.conf.default php-fpm.conf
- 安装mysql
- 安装依赖
yum install cmake gcc-c++ ncurses-devel perl-Data-Dumper boost boost-doc boost-devel - 下载mysql #https://dev.mysql.com/downloads/mysql/5.7.html#downloads
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-boost-5.7.22.tar.gz - 解压 压缩包
tar -zxvf 文件名 - 编译ll
cmake
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql
-DMYSQL_DATADIR=/mydata/mysql/data
-DSYSCONFDIR=/etc
-VDMYSQL_USER=mysql
-DWITH_MYISAM_STORAGE_ENGINE=1
-DWITH_INNOBASE_STORAGE_ENGINE=1
-DWITH_ARCHIVE_STORAGE_ENGINE=1
-DWITH_MEMORY_STORAGE_ENGINE=1
-DWITH_READLINE=1
-DMYSQL_UNIX_ADDR=/var/run/mysql/mysql.sock
-DMYSQL_TCP_PORT=3306
-DENABLED_LOCAL_INFILE=1
-DENABLE_DOWNLOADS=1
-DWITH_PARTITION_STORAGE_ENGINE=1
-DEXTRA_CHARSETS=all
-DDEFAULT_CHARSET=utf8
-DDEFAULT_COLLATION=utf8_general_ci
-DWITH_DEBUG=0
-DMYSQL_MAINTAINER_MODE=0
-DWITH_SSL:STRING=bundled
-DWITH_ZLIB:STRING=bundled
如果报错 :
1.在/usr/local下创建一个名为boost的文件夹
mkdir -p /usr/local/boost
2.在文件夹内下载 #https://sourceforge.net/projects/boost/files/boost/1.67.0/ (报错时查看需要的版本)
wget http://www.sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz - 解压压缩包
tar -zxvf 文件名
返回mysql文件夹继续编译
cmake
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql
-DMYSQL_DATADIR=/mydata/mysql/data
-DSYSCONFDIR=/etc
-VDMYSQL_USER=mysql
-DWITH_MYISAM_STORAGE_ENGINE=1
-DWITH_INNOBASE_STORAGE_ENGINE=1
-DWITH_ARCHIVE_STORAGE_ENGINE=1
-DWITH_MEMORY_STORAGE_ENGINE=1
-DWITH_READLINE=1
-DMYSQL_UNIX_ADDR=/var/run/mysql/mysql.sock
-DWITH_BOOST=/usr/local/boost
-DMYSQL_TCP_PORT=3306
-DENABLED_LOCAL_INFILE=1
-DENABLE_DOWNLOADS=1
-DWITH_PARTITION_STORAGE_ENGINE=1
-DEXTRA_CHARSETS=all
-DDEFAULT_CHARSET=utf8
-DDEFAULT_COLLATION=utf8_general_ci
-DWITH_DEBUG=0
-DMYSQL_MAINTAINER_MODE=0
-DWITH_SSL:STRING=bundled
-DWITH_ZLIB:STRING=bundled
编译:
make && make install
如果内存不足报错
sudo dd if=/dev/zero of=/swapfile bs=8M count=1024
sudo mkswap /swapfile
sudo swapon /swapfile
重新编译 编译完成时
sudo swapoff /swapfile
sudo rm /swapfile
- 安装依赖
cp php.ini-production /etc/php.ini
cp sapi/fpm/init.d.php-fpm /etc/rc.d/init.d/php-fpm
cp php-7.2/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
chmod +x /etc/rc.d/init.d/php-fpm
7.设置权限并启动php-fpm:
chmod 755 /etc/init.d/php-fpm
/etc/init.d/php-fpm start
chkconfig –add php-fpm
8.最后给出php-fpm 以服务的方式启动停止和重启:
service php-fpm start
service php-fpm stop
service php-fpm reload
cd /usr/local/php/etc/php-fpm.d/
cp www.conf.default www.conf
/usr/local/php/sbin/php-fpm -t
复制配置文件到php文件夹下
cp php.ini-development /usr/local/php-fpm/lib
// 配置nginx 解析php
1.php的默认安装位置上面已经指定为/usr/local/php,接下来配置相应的文件:
cp php.ini-development /usr/local/php/lib/php.ini
cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
cp sapi/fpm/php-fpm /usr/local/bin
2.然后设置php.ini,使用: vim /usr/local/php/lib/php.ini 打开php配置文件找到cgi.fix_pathinfo配置项,这一项默认被注释并且值为1,根据官方文档的说明,这里为了当文件不存在时,阻止Nginx将请求发送到后端的PHP-FPM模块,从而避免恶意脚本注入的攻击,所以此项应该去掉注释并设置为0
cgi.fix_pathinfo = 0
3.另外注意一个地方就是php.ini配置文件的位置可以在编译前配置参数中设置,编译参数可以写成:–with-config-file-path=/usr/local/php 这样的话php就回去指定的目录下读取php.ini配置文件,如果不加这个参数默认位置就是php安装目录下的lib目录,具体也可以在phpinfo()输出界面查看,如果php.ini放到其他位置,php读取不到,那么所有的配置修改后都是不生效的,这点要注意
groupadd www
useradd -g www-data www
4.如果此时随便在一个位置添加,那么接下来启动php-fpm的时候,会报目录找不到的错误,所以不要在php-fpm.conf中添加用户和组,这个时候翻到php-fpm.conf最后一行会发现如下内容(如果编译时添加–prefix选项以下位置会自动补全,默认是下面是空的,要注意):
include=NONE/etc/php-fpm.d/.conf
这里引入了php-fpm.d目录下所有的conf配置文件,但是NONE需要修改为我们的实际目录:/usr/local
include=/usr/local/etc/php-fpm.d/.conf
5.默认情况下etc/php-fpm.d/下有一个名为www.conf.defalut的配置用户的文件,执行下面命令复制一个新文件并且打开:
cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf
vim /usr/local/php/etc/php-fpm.d/www.conf
6.默认user和group的设置为nobody,将其改为www
user = www
group = www
// 重启php-fpm
7.启动完毕之后,php-fpm服务默认使用9000端口,使用 netstat -tln | grep 9000 可以查看端口使用情况:
9000端口正常使用,说明php-fpm服务启动成功
8.然后执行 vim /usr/local/nginx/nginx.conf 编辑nginx配置文件,具体路径根据实际的nginx.conf配置文件位置编辑,下面主要修改nginx的server {}配置块中的内容,修改location块,追加index.php让nginx服务器默认支持index.php为首页:
location / {
root /www;
index index.php server.php index.html;
}
9.然后配置.php请求被传送到后端的php-fpm模块,默认情况下php配置块是被注释的,此时去掉注释并修改为以下内容:
location ~* .php$ {
root \www;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /www$fastcgi_script_name;
include fastcgi_params;
}
10.修改完上面的,回到nginx.conf第一行,默认是#user nobody; 这里要去掉注释改为user www-data;或者user www-data www-data;表示nginx服务器的权限为www 修改完这些保存并退出,然后重启nginx:
/usr/local/nginx/nginx -s stop
/usr/local/nginx/nginx
11. 接下来测试是否更改成功;
常见错误
php.ini 不生效 #查询php.ini应在位置
php -i | grep php.ini
打不开很有可能是权限问题
No application encryption key has been specified
配置 .env
#没有 openssl 扩展
wget http://www.openssl.org/source/openssl-1.0.2j.tar.gz
tar -zxvf openssl-1.0.2j.ta r.gz
cd php-5.6.16/ext/openssl/
mv config0.m4 config.m4
找到phpize 生成configure
/usr/local/php/bin/phpize
如果没有生成configure 则未安装 autoconf
apt-get install autoconf
./configure --with-openssl --with-php-config=/usr/local/php/bin/php-config
make
sudo make install
extension=redis.so
extension=swoole.so
extension=zip.so
extension_dir ="/usr/local/php-fpm/lib/php/extensions/no-debug-non-zts-20170718"
//远程开启mysql连接
update user set authentication_string = password(‘Dmingquan’),host=’%’ where user = ‘root’;
1.创建mysql用户
CREATE USER ‘test’@’%’ IDENTIFIED BY ‘1234’; #远程登录
GRANT ALL PRIVILEGES ON . TO ‘liuxiaojin93’@’%’ IDENTIFIED BY ‘930526*lj’ WITH GRANT OPTION;
FLUSH PRIVILEGES;
设置mysql 密码级别
set global validate_password_policy=0;
设置mysql 密码长度
set global validate_password_length=4;
set global validate_password_policy=0;
set global validate_password_mixed_case_count=2;
SET PASSWORD = PASSWORD(‘123456’);
–nodeps
set global validate_password_policy=0;
查看mysql是否启动
service mysqld status
启动mysql
service mysqld start
停止mysql
service mysqld stop
重启mysql
service mysqld restart
//composer安装
1.下载composer
curl -sS https://getcomposer.org/installer | php
2.将composer.phar文件移动到bin目录以便全局使用composer命令
mv composer.phar /usr/local/bin/composer
3.切换国内镜像源
composer config -g repo.packagist composer https://packagist.phpcomposer.com
查看composer全局设置
composer config -l -g
composer config -g repo.packagist composer https://packagist.laravel-china.org
//php9000端口占用
netstat -lntup | grep 9000
killall php-fpm
//swoole 扩展 安装依赖包
https://wiki.swoole.com/wiki/page/p-redis.html
下载hiredis
https://github.com/redis/hiredis/archive/v0.13.3.tar.gz
编译安装hiredis
make -j
sudo make install
sudo ldconfig
wget https://github.com/nghttp2/nghttp2/releases/download/v1.30.0/nghttp2-1.30.0.tar.bz2
yum install bzip2
tar -jxvf nghttp2-1.30.0.tar.bz2
cd nghttp2-1.30.0
./configure
make && make install
安装swoole
wget https://github.com/swoole/swoole-src/archive/v4.1.2.tar.gz
/usr/local/php-fpm/bin/phpize
./configure --with-php-config=/usr/local/php-fpm/bin/php-config --enable-coroutine --enable-openssl --enable-http2 --enable-async-redis --enable-sockets --enable-mysqlnd && make clean && make && sudo make install
swoole 安装完异步报错 解决方法
vim /etc/ld.so.conf
/usr/local/lib
sudo ldconfig
php --ri swoole
查找脚本命令
whereis phpize
//安装redis
教程地址参考 https://blog.youkuaiyun.com/xuezhangjun0121/article/details/80347131
redis启动脚本 安装目录下 /utils/ 目录 redis_init_script /etc/init.d/redisd
修改配置文件
EXEC=/usr/local/redis/redis-server
CLIEXEC=/usr/local/redis/redis-cli
REDIS_CLI=/usr/local/redis/redis-cli
PIDFILE=/var/run/redis_${REDISPORT}.pid
CONF="/usr/local/redis/redis.conf"
AUTH=“930526*lj”
设置redis密码 进入redis 命令行 config set requirepass my_redis
查看redis密码 进入redis命令行 config get requirepass
命令行更新密码 auth ‘mima’
停止更新密码
firewall-cmd --permanent --zone=public --add-port=8080-8081/tcp #永久
systemctl enable/disable firewalld
systemctl start/stop firewalld
systemctl status firewalld
vi /etc/init.d/redis
$CLIEXEC -a “password” -p $REDISPORT shutdown
yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5-devel libidn libidn-devel openssl openssl-devel nss_ldap openldap openldap-devel openldap-clients openldap-servers libxslt-devel libevent-devel ntp libtool-ltdl bison libtool vim-enhanced
gogs 开机启动
cp gogs.service /lib/systemd/system
邮箱端口改成465
服务器上创建用户
adduser git
chown git:git project #设置用户组
Git服务器打开RSA认证
在Git服务器上首先需要将/etc/ssh/sshd_config中将RSA认证打开:
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
在/home/git下创建.ssh目录,然后创建authorized_keys文件,把id_rsa.pub里面的内容复制到authorized_keys文件中
修改权限
重要:
修改 .ssh 目录的权限为 700
修改 .ssh/authorized_keys 文件的权限为 600
mongodb安装
官网 地址 https://www.mongodb.org/dl/linux/x86_64?_ga=2.189064104.222886187.1543460064-1222638156.1538017689
:%s/$releasever/7/g